【问题标题】:How to filter log records in an application?如何过滤应用程序中的日志记录?
【发布时间】:2020-02-26 16:16:44
【问题描述】:

我有一个带有 log4net 的 WinForms 应用程序。 app.config 有一个 log4net 配置部分。它包含如下设置:

<appender name="coloredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="INFO" />
        <levelMax value="FATAL" />
      </filter>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %m%n" />
      </layout>
    </appender>

但用户想通过 GUI 菜单更改 levelMin 和 levelMax,因为编辑 app.config 文件并不方便。 如何更改应用程序中的 levelMin 和 levelMax 值?

【问题讨论】:

  • 很多关于在 SO 上以编程方式配置 log4net 的问题。到目前为止,我找不到 1:1 的欺骗,但搜索至少可以给你一些提示。
  • 我想使用 app.config 文件,但只提供以编程方式为当前应用会话更改过滤级别的可能性

标签: c# .net log4net log4net-configuration


【解决方案1】:

log4net 可以通过配置文件进行配置,之后应用程序可以像这样更正参数:

Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
hierarchy.Root.Level = Level.Error;
hierarchy.Configured = true;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2016-02-26
    • 2018-03-23
    • 2014-10-01
    • 1970-01-01
    相关资源
    最近更新 更多