我有四个appender如下
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文件,我可以在其中设置要使用的appender。 而且,我有如下方法 Method_WriteLogOnly --->它将使用appender 1或2 Method_WriteExceptionLogs --->这将使用appender 3或4
问题是我不知道我是否对这两种方法使用相同的log4net.config.xml文件,然后如何设置appender。
最佳做法是,以编程方式设置appender,还是通过其他配置位置设置,如果我有app.config或web.config文件,并在那里写一个键值对(某种类似的代码)选择appender?
答案 0 :(得分:0)
我认为你不应该在代码中决定使用什么appender:你应该决定记录什么,但是运行你的应用程序的人应该决定如何记录它。
虽然我可以理解你想要一个单独的异常文件,但我想知道你为什么要使用两个数据库appender。如果需要写入不同的表,则可以在存储过程中轻松执行此操作。这有几个好处:配置会更容易,你只有一个数据库连接...
假设您说“exception ==具有级别错误的消息”就足够了,那么您可以轻松地创建两个appender并使用过滤器来确保只有级别为ERROR的消息在“exception”日志中结束文件。