2010-03-10 90 views
18

我正在使用log4net进行日志记录(duh!)。使用EventLogAppender,我可以配置我的应用程序名称,以便我的事件显示在应用程序/“我的应用程序名称”事件日志中。但是,我想将事件记录到“其他事件日志”/“我的应用程序名称”。我该如何配置?配置log4net的自定义事件日志

当前配置:

<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" > 
    <applicationName value="My application Name" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> 
    </layout> 
</appender> 

对于EventLogInstaller,代码应该是这样的:

eventLogInstaller.Log = "Some other event log"; // Default "Application" 
eventLogInstaller.Source = "My application name"; 

回答

24

您与LogName property控制这一点。

如:

<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" > 
     <logName value="System" /> 
     <applicationName value="My application Name" /> 
     ... 
</appender> 
+1

我已经做到了这一点,它确实创造了在事件查看器的'应用程序和服务Logs'节点的新记录,但消息仍然被记录到'Application'日志一些原因而不是新的。 – deadlydog 2015-03-03 21:59:38

+3

没关系,事实证明,我必须重新启动计算机才能使更改生效,如http://stackoverflow.com/a/6457005/602585和http://stackoverflow.com/questions/7607441/log4net-eventlogappender中所述-is-忽略-MY-LOGNAME – deadlydog 2015-03-03 22:42:45