有两种配置和使用log4net的方式。第一种是我可以配置自己的appender和相关logger:
<!-- language: xml -->
<appender name="myLogAppender" type="log4net.Appender.RollingFileAppender" >
<file value="Logs\myLog.log" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level - %message%n" />
</layout>
</appender>
<logger name="myLog">
<level value="All"></level>
<appender-ref ref="myLogAppender" />
</logger>
然后当我想要在日志中写入内容时,我可以执行以下操作:
ILog log = LogManager.GetLogger("myLog");
log.Info("message");
另一种使用方法是将根配置为尽可能详细:
<!-- language: xml -->
<root>
<level value="Error" />
<appender-ref ref="myLogAppender" />
</root>
在这种情况下,我可以像这样记录消息:
ILog log = LogManager.GetLogger(typeof(Bar));
log.Info("message");
第二种方法的好处是可以随时启用或禁用一些消息。但问题是我正在EPiServer CMS中进行开发,它有自己的日志记录系统,使用log4net,如果我在根级别启用了信息记录,则会写入大量系统日志。
你如何使用log4net?系统的每个部分都在自己的日志记录器中写入,还是所有内容都写入默认记录器,并由配置决定下一步做什么?