Log4Net没有写入Windows EventViewer

时间:2016-11-02 19:21:10

标签: c# .net log4net event-viewer

我甚至创建了一个测试控制台应用程序项目,看看log4Net是如何工作的,以及为什么它不能在我的真实世界应用程序上运行,但它甚至没有在控制台应用程序上编写。

我的app.config看起来像这样

<?xml version="1.0" encoding="utf-8"?>
 <configuration>
  <configSections>
   <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
<log4net>
 <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender,log4net">
   <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
   </layout>
 </appender>
 <root>
   <level value="ALL"/>
   <appender-ref ref="EventLogAppender" />
 </root>
 <logger name="EventViewerLogger">
   <level value="ALL"/>
   <appender-ref ref="EventLogAppender" />
 </logger>
 </log4net>
</configuration>

我的方法看起来像这样

            log4net.Config.XmlConfigurator.Configure();
            //log4net.Config.BasicConfigurator.Configure();
            //log4net.Config.BasicConfigurator.Configure(new EventLogAppender { ApplicationName = "Log4NetTEST", LogName = "EchoEnterprise" });

            var log = LogManager.GetLogger("EventViewerLogger");
            //var log = LogManager.GetLogger(typeof(Class1));

            var t = log.Logger.Repository.GetAppenders();

            log.Info("Test INFO from Jamboree");

            Console.WriteLine("Log4Net hopefuly worked!");

因此,当我尝试第一个(未注释)版本的“配置”时,它声明它无法在我的应用程序中找到log4net配置,但显然存在。它甚至告诉我它应该如何看。它说明了

log4net:ERROR Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the <log4net> and <configSections> elements. The configuration section should look like: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

第二个版本(已注释)是默认版本,它会记录到控制台。我希望它能够转到EventViewer

第三个(注释)除了提供一个appender(由't'变量验证)之外什么都不做。 但是,这些都不会登录事件查看器 - 我在管理员模式下打开了VS(2012)和EventViewer。 - 我已经尝试了几乎所有注释/未注释代码的排列,并且仍然没有登录事件查看器。任何帮助都会被欣赏,因为我觉得它;在我的鼻子底下。提前谢谢。

ALSO(UPDATE) - 在AssemblyInfo.cs文件中添加了以下行

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

但仍未登录事件查看器

0 个答案:

没有答案