【问题标题】:Yet another log4net configuration issue. Root logger (or single, named logger) with different thresholds还有另一个 log4net 配置问题。具有不同阈值的根记录器(或单个命名记录器)
【发布时间】:2017-10-14 15:24:15
【问题描述】:

我有一个 C# Framework 4.5.2 项目,使用 log4net v2.0.8(通过 NuGet 安装),我已经阅读了至少十个不同但相似的问题,但没有一个能解决我的问题。当然,我可以成功写入日志附加程序,但过滤/阈值不起作用。我有一个记录器(使用 ROOT 或命名实例)并设置了不同的阈值/过滤器,这些阈值/过滤器应该指导实际日志记录使用特定的附加程序(即文件、db、smtp 等)。这样,某个级别的过滤器值可能只能由单个附加程序处理。对于测试,我只是试图获得警告及以上阈值以使用 ADO 附加程序,而文件附加程序记录信息(及以上)阈值。所以,当我测试一个信息日志方法时,它不应该在数据库中结束,但它总是这样。所以,不知何故我的配置错误。这只是我浏览过的几个,它们给了我洞察力,但不是解决方案:

这里有一些代码:

配置:

  <!--<root>      
</root>-->
<logger name="Logger">
  <appender-ref ref="LogFileAppender"/>        
  <appender-ref ref="AdoNetAppender"/>           
</logger>

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="c:\temp\logging\derp.log" />
  <appendToFile value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="5" />
  <maximumFileSize value="10MB" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %property{ProjectName} (%logger) - %message%newline" />
  </layout>
  <!--<threshold value="Info" />-->
</appender>

我尝试在记录器部分的 appender-ref 中设置阈值,我直接在 appender 中设置了它。我使用了 LevelMatchfilter,有 level 和 levelMin/levelMax(见下文)。 LevelRangeFilter,什么都没有。没有任何东西可以正常工作。

<filter type="log4net.Filter.LevelMatchFilter">
    <levelMin value="Warning" />
    <levelMax value="Fatal" />
</filter>
<threshold value="Warning" />

我尝试过合并 Evaluator,但不起作用。

<evaluator type="log4net.Core.LevelEvaluator">
      <threshold value="ERROR" />
</evaluator>

大多数在线示例都是 5 年以上的,经常谈论 v1.2。新版本中是否有某些内容,或者我只是缺少其他内容,或者以错误的顺序进行操作?任何帮助表示赞赏。谢谢!

【问题讨论】:

    标签: logging log4net-configuration threshold


    【解决方案1】:

    我看到了两件事。 首先,这是警告,而不是警告。

    <filter type="log4net.Filter.LevelMatchFilter">
        <levelMin value="WARN" />
        <levelMax value="Fatal" />
    </filter>
    

    其次,像这样添加根。

    <root>
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="AdoNetAppender" />
    </root>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多