Log4Net何时配置?

6

考虑到您已经有了

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

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

7
配置文件用于调用LoggerManager类时。通常是通过调用LogManager.GetLogger来实现的。
有关详细信息,请参见http://logging.apache.org/log4net/release/sdk/log4net.Config.XmlConfiguratorAttribute.html,特别是注意事项:

Log4net只会查找程序集级别配置属性一次。当使用log4net程序集级别属性控制log4net的配置时,必须确保首次调用任何LoggerManager方法是从具有配置属性的程序集中进行的。


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,则配置它),或利用DOMConfigurator手动配置log4net。


第二个链接已经失效。 - codea

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接