log4net / c#-基于级别的不同布局
时间:2020-03-06 14:39:45 来源:igfitidea点击:
使用log4net时,是否可以根据日志消息的级别进行不同的布局?说,如果是致命错误,我想查看所有可能的信息,包括类名,方法名,行号等。但是对于正常的调试和警告,我只想查看消息(希望可以增加性能)。
我在CWinForms中使用log4net。我的要求是,当发生致命错误时,将以前的所有512条消息记录到文件中,并且我只想查看致命错误的类名,方法名,行号等,对于所有其他级别,仅显示一条消息。
解决方案
我们可以为每个"级别"使用不同的Appender,并使它们相同,但用于图案布局。
这篇文章对log4net配置文件有很好的解释:
log4net配置
注意添加程序中的布局元素。它们定义了输出错误和选择的任何信息的方式。
我认为我们正在寻找LevelRangeFilter和两个添加组件的组合。一个用于致命级别的添加程序/过滤器组合(致命是最小值和最大值),以及一个用于其他所有内容的添加器/过滤器组合(其中ERROR或者INFO是最大值,这取决于我们是否要包括调试目的的错误)
此处的示例:log4net配置中包含什么?破解,优化,观察?