C# 如何配置log4net ConsolePender以基于级别写入Console.Err和Console.Out?
当我在记录器下面执行任何操作时,我想写入控制台.Out。警告,然后当我在记录器上面记录任何操作时,我想写入控制台.Err。如何编写log4net配置文件 到目前为止,我已经:C# 如何配置log4net ConsolePender以基于级别写入Console.Err和Console.Out?,c#,.net,vb.net,log4net,C#,.net,Vb.net,Log4net,当我在记录器下面执行任何操作时,我想写入控制台.Out。警告,然后当我在记录器上面记录任何操作时,我想写入控制台.Err。如何编写log4net配置文件 到目前为止,我已经: <?xml version="1.0" encoding="utf-8"?> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <lay
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
您可以创建两个附加器,并对其进行不同的配置。类似于(未经测试):
编辑:用levelMin
与levelMax
纠正了逻辑错误
<log4net>
<appender name="ConsoleOutAppender" type="log4net.Appender.ConsoleAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="WARN" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="..." />
</layout>
</appender>
<appender name="ConsoleErrorAppender" type="log4net.Appender.ConsoleAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
</filter>
<target value="Console.Error" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="..." />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleOutAppender" />
<appender-ref ref="ConsoleErrorAppender" />
</root>
</log4net>