最佳答案
配置和使用 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");
另一种使用它的方法是将 root 配置为我所希望的那样详细:
<!-- language: xml -->
<root>
<level value="Error" />
<appender-ref ref="myLogAppender" />
</root>
在这种情况下,我可以像这样记录信息:
ILog log = LogManager.GetLogger(typeof(Bar));
log.Info("message");
第二种方法的好处是可以动态启用或禁用某些消息。但问题是,我正在 EPiServer CMS 中开发,它有自己的日志系统,使用 log4net,如果我在根级别启用信息日志,那么将写入大量系统日志。
如何使用 log4net?系统的每个部分都在自己的日志记录器中写入,或者所有内容都在默认的日志记录器中写入,然后由配置决定下一步做什么?