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属性匹配。