EventLogAppender - 如何阻止记录到应用程序事件日志中的错误

时间:2011-12-20 19:34:49

标签: log4net log4net-configuration

我正在使用log4net - EventLogAppender将应用程序错误记录到自定义日志中。发生这种情况,但错误也记录在应用程序日志中。既然我有自己的自定义事件日志说myLog,是否可以阻止将错误记录到默认日志应用程序中?

<log4net debug="true">
  <appender name="sendAlertAppender" type="sendAlertAppender.MultiThresholdNotifyingAppender,sendAlertAppender">      
    <LevelThreshold  value="ERROR"/>      
  <appender-ref ref="EventLogAppender"/>
  </appender>

  <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
    <param name="LogName" value="xxxWebLogs" />
    <param name="ApplicationName" value="xxx" />
    <eventId value="5" />
    <eventCategory value="10" />
    <filter type="log4net.Filter.LevelRangeFilter">
      <acceptOnMatch value="true" />
      <levelMin value="INFO" />
      <levelMax value="FATAL" />        
    </filter>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
  </appender>
  <root>
    <level value="ALL"/>
    <priority value="DEBUG" />
    <appender-ref ref="sendAlertAppender"/>
    <appender-ref ref="EventLogAppender"/>
  </root>
</log4net>

enter image description here

2 个答案:

答案 0 :(得分:1)

我仍然不确定您的问题是什么,但查看配置我认为您需要更改LogName设置:

<param name="LogName" value="PortalWebLogs" />

如果这不起作用,则可能是权限问题。有关更多信息,请参见此处:

log4Net EventlogAppender does not work for Asp.Net 2.0 WebSite?

答案 1 :(得分:0)

我在使用事件日志appender方面做得不多,所以我不太确定。这是另一个讨论它的问题,在答案中,它显示了使用带有value属性的logName元素而不是param元素。可能值得尝试。

Configuring a custom event log for log4net