log4net多个appender,写入事件查看器
我使用log4net进行日志记录,我有两个appender一个文件和其他eventlog appender。 我在注册表编辑器中注册了应用程序,问题是现在两个记录器都在事件查看器中编写。 我需要fileAppender
写入文件和eventLogAppender
才能在事件查看器中显示。
然后在代码中
private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); // private static readonly ILog log = LogManager.GetLogger("LogFileAppender"); private static readonly ILog logEvents = LogManager.GetLogger("EventLogAppender");
我尝试了不同的东西,但没有人工作,任何解决方案?
谢谢!
为了将多个ILog实例与log4net一起使用并向每个实例记录不同的信息,您必须在配置文件的log4net部分中配置至少两个Logger元素。
在您的情况下,您有两个目标 – 文件和事件日志。 我将它们称为FileLogger和EventLogger。
以下是log4net部分中所需的其他配置示例:
然后,要在代码中使用每个代码,请将它们实例化为:
private static readonly ILog fileLogger = LogManager.GetLogger("FileLogger"); private static readonly ILog eventLogger = LogManager.GetLogger("EventLogger");
请注意,appender元素的ref属性与您已配置的appender的name属性匹配,并且传递给GetLogger的名称与logger元素的name属性匹配。