我正在使用log4net进行日志记录(呃!).使用EventLogAppender,我可以配置我的应用程序名称,以便我的事件将显示在Application /"My Application Name"事件日志中.但是,我想将事件记录到"其他事件日志"/"我的应用程序名称".我该如何配置?
当前配置:
<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>
Run Code Online (Sandbox Code Playgroud)
对于EventLogInstaller,代码如下所示:
eventLogInstaller.Log = "Some other event log"; // Default "Application"
eventLogInstaller.Source = "My application name";
Run Code Online (Sandbox Code Playgroud) 添加了一个EventLogAppender,如下所示:
<appender name="eventLogAppender" type="log4net.Appender.EventLogAppender,log4net" >
<mapping>
<level value="ERROR" />
<eventLogEntryType value="Error" />
</mapping>
<mapping>
<level value="DEBUG" />
<eventLogEntryType value="Information" />
</mapping>
<mapping>
<level value="INFO" />
<eventLogEntryType value="Information" />
</mapping>
<mapping>
<level value="WARN" />
<eventLogEntryType value="Warning" />
</mapping>
<logName value="NewLogName" />
<applicationName value="AppName" />
<layout type="log4net.Layout.PatternLayout,log4net">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
它创建新的日志,NewLogName并添加应用程序名称为的Windows事件,AppName但它将事件添加到Application日志而不是NewLogName.
我已在注册表中更改权限,并且应用程序名称位于注册表中的正确位置.有任何想法吗?