为log4net配置自定义事件日志

Jon*_*oln 18 .net c# log4net event-log

我正在使用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)

Pet*_*old 25

您可以使用LogName属性控制它.

例如:

<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
      <logName value="System" />
      <applicationName value="My application Name" />
      ...
</appender>
Run Code Online (Sandbox Code Playgroud)

  • 没关系,事实证明我必须重新启动计算机才能使更改生效,如http://stackoverflow.com/a/6457005/602585和http://stackoverflow.com/questions/7607441/log4net-eventlogappender-所述 - IS-忽略-MY-LOGNAME (4认同)
  • 我已经完成了此操作,并且它确实在事件查看器的“应用程序和服务日志”节点下创建了新日志,但由于某种原因消息仍然被记录到“应用程序”日志而不是新日志中。 (2认同)