我正在使用EventLogAppender将事件从我的网络应用程序记录到Windows事件日志。是否可以使conversionPattern成为条件,以便对于Error事件,我可以添加更多细节?
答案 0 :(得分:0)
我想你在谈论log4net的布局功能;这是可能的,因为ILayout
接口采用包含日志级别的LoggingEvent
实体。但我不知道这样做的实现,所以你必须自己编写。
我认为有一种最简单的方法;只需使用两个appender,一个过滤警告及以下,一个过滤错误及以上,并在每个appender中使用不同的布局。
<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>
只需将两个appender添加到您的日志记录入口点(例如root)并且您已完成