什么时候配置Log4Net?

时间:2011-05-05 12:25:21

标签: c# log4net logging

鉴于你有

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
在AssemblyInfo.cs文件中

,何时配置Log4Net?它是在应用程序启动时还是第一次使用记录器时?

2 个答案:

答案 0 :(得分:7)

当您调用LoggerManager类时,将使用配置文件。这通常是通过调用LogManager.GetLogger。

引起的

有关详情,请参阅http://logging.apache.org/log4net/release/sdk/log4net.Config.XmlConfiguratorAttribute.html;特别注意:

  

Log4net只会查找程序集   级别配置属性一次。   使用log4net程序集级别时   属性来控制   你必须配置log4net   确保第一次调用任何一个   LoggerManager方法由   具有配置的程序集   属性。

答案 1 :(得分:3)

来自Apache log4net站点的引用:

  

因此,如果使用配置属性,则必须调用log4net以允许它读取属性。对LogManager.GetLogger的简单调用将导致读取和处理调用程序集上的属性。因此,必须在应用程序启动期间尽早进行日志记录调用,当然在加载和调用任何外部程序集之前。   http://logging.apache.org/log4net/release/manual/configuration.html

这是一篇很好的文章,介绍如何确保配置设置并正常运行: http://www.fooji.net/blog/post/2010/04/27/logging-log4net-e28093-part-iii.aspx

基本上,您需要进行日志记录调用(如果尚未配置log4net,则调用log4net)或使用DOMConfigurator手动配置log4net。