【问题标题】:How do I configure log4net consoleappender to write to Console.Err and Console.Out based on Level?如何配置 log4net consoleappender 以根据 Level 写入 Console.Err 和 Console.Out?
【发布时间】:2014-03-12 20:26:36
【问题描述】:

当我在 logger.Warn 下执行任何操作时,我想写信给 Console.Out,然后我想写信给 Console.Err strong> 当我记录任何 logger.Error 及以上内容时。我将如何编写我的 log4net 配置文件?

到目前为止我有:

<?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>

【问题讨论】:

    标签: c# .net vb.net log4net


    【解决方案1】:

    您可以创建两个附加程序,并以不同的方式配置它们。类似(未经测试):

    <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>
    

    编辑:更正了 levelMinlevelMax 的逻辑错误。

    【讨论】:

      猜你喜欢
      • 2011-06-19
      • 1970-01-01
      • 2010-11-25
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      • 2016-11-11
      相关资源
      最近更新 更多