我正在使用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>
答案 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元素。可能值得尝试。