【问题标题】:When is Log4Net configured?Log4Net 何时配置?
【发布时间】:2011-05-05 12:25:21
【问题描述】:

鉴于你有

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]

在您的 AssemblyInfo.cs 文件中,何时配置 Log4Net?是在应用程序启动时还是第一次使用记录器时?

【问题讨论】:

    标签: c# log4net logging


    【解决方案1】:

    当您调用LoggerManager 类时使用配置文件。这通常是由调用 LogManager.GetLogger 引起的。

    详情请见http://logging.apache.org/log4net/release/sdk/log4net.Config.XmlConfiguratorAttribute.html;特别注意:

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

    【讨论】:

      【解决方案2】:

      来自 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。

      【讨论】:

      • 第二个链接坏了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 2016-11-09
      • 2011-12-03
      • 1970-01-01
      相关资源
      最近更新 更多