0

我有四个附加程序,如下所示

appender name= LogFileAppender // to write  general logs in File 

appender name=LogDatabaseAppender// to write general logs in db via Oracle StoredProc

appender name=ExceptionFileAppender // to write  exception  logs in File 

appender name=ExceptionDatabaseAppender // to write exception logs in db via Oracle StoredProc

我想要一个 appconfig 文件,我可以在其中设置要使用的附加程序。此外,我有如下方法 Method_WriteLogOnly ---> 将使用 appender 1 或 2 Method_WriteExceptionLogs---> 将使用 appender 3 或 4

问题是我不知道这两种方法是否使用相同的 log4net.config.xml 文件,然后如何设置附加程序。

什么是最佳实践,要么以编程方式设置附加程序,要么通过另一个配置位置(例如,如果我有一个 app.config 或 web.config 文件),我在那里编写了一个键值对(类似这样的某种代码)来选择附加程序?

4

1 回答 1

0

我认为你不应该在代码中决定使用什么 appender:你应该决定记录什么,但是运行你的应用程序的人应该决定它是如何记录的。

虽然我可以理解您需要一个单独的文件来处理异常,但我想知道您为什么要使用两个数据库附加程序。如果您需要写入不同的表,那么您可以在存储过程中轻松执行此操作。这有几个优点:配置会更容易,您将只有一个数据库连接......

假设您说“异常 == 级别为 ERROR 的消息”就足够了,那么您可以轻松创建两个附加程序并使用过滤器来确保只有级别为 ERROR 的消息最终出现在“异常”日志文件中。

于 2010-06-04T09:11:08.240 回答