如何过滤应用程序中的日志记录?
How to filter log records in an application?
我有一个带有 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 值?
log4net 可以通过配置文件进行配置,稍后应用程序可以像这样更正参数:
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
hierarchy.Root.Level = Level.Error;
hierarchy.Configured = true;
我有一个带有 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 值?
log4net 可以通过配置文件进行配置,稍后应用程序可以像这样更正参数:
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
hierarchy.Root.Level = Level.Error;
hierarchy.Configured = true;