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中
问候,