我正在尝试纯粹通过代码配置Log4Net,但是当我进行最小配置时,NHibernate和流畅界面会输出大量的日志信息。
所以,我想要做的很简单。告诉Log4Net只显示我的单个类的日志消息。我尝试了一下,但是无法弄清楚...
有人能帮忙吗?我认为以下代码说明了我的想法:
所以,我想要做的很简单。告诉Log4Net只显示我的单个类的日志消息。我尝试了一下,但是无法弄清楚...
有人能帮忙吗?我认为以下代码说明了我的想法:
var filter = new log4net.Filter.LoggerMatchFilter();
filter.LoggerToMatch = typeof(DatabaseDirectory).ToString();
filter.AcceptOnMatch = false;
var x = new log4net.Appender.ConsoleAppender();
x.Layout = new log4net.Layout.SimpleLayout();
x.AddFilter(filter);
log4net.Config.BasicConfigurator.Configure(x);
好的,谢谢你的帮助,但是这里一定有些问题。不过我已经接近成功了。我尝试了XML配置,这个配置有更详细的文档。我使用以下XML配置实现了所需的结果。在上面的"纯代码"版本中应该存在一些配置错误。
以下的XML配置提供了"正确"的输出,它与上面代码中的配置不同。有人看到了区别吗?
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleAppender" />
</root>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="Examples.FirstProject.Entities.DatabaseDirectory"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%C.%M] %-5p %m%n" />
</layout>
</appender>