log4net不登录Windows事件查看器

我想使用log4net登录Windows事件查看器。
我创建了一个控制台应用程序(.NET Framework 4),我添加了引用log4net.dll,我将以下代码放在我的App.config中:

  

我把以下代码:

 class Program { static void Main(string[] args) { log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program)); log.Error("test error", new Exception("error's exception", new Exception("error's innerexception"))); Console.Read(); } } 

它没有记录,没有任何反应,为什么?

谢谢

你需要调用configure 。

更改:

 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "App.config", Watch = true)] 

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

当您指定ConfigFile = "App.config"它将查找App.config但您的文件[FileName].Config[FileName].Config

您需要从log4net库调用XmlConfigurator.Configure来初始化它。 (见下文)

 class Program { static void Main(string[] args) { // you need this XmlConfigurator.Configure(); log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program)); log.Error("test error", new Exception("error's exception", new Exception("error's innerexception"))); Console.Read(); } } 

在应用程序开始时调用XmlConfigurator.Configure()。

您还需要授予运行应用程序权限的用户将数据放入事件日志中。

执行此操作的一个好方法是使用PowerShell,管理模式

  New-EventLog EventLogName -source ApplicationName 

另外,将这两个参数添加到appender中

    

问候,