[英]log4net: Can conversionPattern made conditional?
I'm using EventLogAppender to log events from my web app to windows eventlog. 我正在使用EventLogAppender将事件从我的Web应用程序记录到Windows事件日志中。 Is it possible to make conversionPattern conditional so that for Error events, I can add more details? 是否可以使conversionPattern有条件,以便为Error事件提供更多详细信息?
I suppose you are talking about the layout capabilities of log4net; 我想您正在谈论log4net的布局功能; it is possible since the ILayout
interface takes a LoggingEvent
entity that contains the log level. 这是可能的,因为ILayout
接口需要一个LoggingEvent
包含日志级别的实体。 I don't know however of an implementation that does that so you would have to write your own. 但是我不知道这样做的实现,因此您必须编写自己的实现。
I think there is a simplest way though; 我认为有一种最简单的方法。 just use two appenders, one that filters Warning and below, one that filters Error and above, and use a different layout in each appender. 只需使用两个附加程序,一个可以过滤Warning和以下内容,一个可以过滤Error及其以上,然后在每个附加程序中使用不同的布局。
<appender name="WarningAndBelowEventLogAppender" type="log4net.Appender.EventLogAppender">
...
<filter type="log4net.Filter.LevelRangeFilter">
<levelMax value="WARN" />
<acceptOnMatch value="true" />
</filter>
<!-- layout for warnings and below here -->
</appender>
<appender name="ErrorAndAboveEventLogAppender" type="log4net.Appender.EventLogAppender">
...
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<acceptOnMatch value="true" />
</filter>
<!-- layout for errors and above here -->
</appender>
Just add the two appenders to your logging entry point (root for example) and you're done 只需将两个追加程序添加到您的日志记录入口点(例如root),就可以完成
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.