Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# log4net:conversionPattern可以设置条件吗?_C#_.net_Log4net - Fatal编程技术网

C# log4net:conversionPattern可以设置条件吗?

C# log4net:conversionPattern可以设置条件吗?,c#,.net,log4net,C#,.net,Log4net,我正在使用EventLogAppender将事件从我的web应用记录到windows eventlog。是否可以将conversionPattern设置为有条件的,以便对于错误事件,我可以添加更多详细信息?我想您正在谈论的是log4net的布局功能;这是可能的,因为ILayout接口采用包含日志级别的LoggingEvent实体。但是,我不知道有哪种实现可以做到这一点,因此您必须自己编写 我认为有一个最简单的方法;只需使用两个appender,一个过滤警告和以下内容,一个过滤错误和以上内容,并在

我正在使用EventLogAppender将事件从我的web应用记录到windows eventlog。是否可以将conversionPattern设置为有条件的,以便对于错误事件,我可以添加更多详细信息?

我想您正在谈论的是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),就完成了

您是否有机会测试此解决方案?