我一直致力于让 log4net 在客户的演示程序中工作,以便他们可以将其与他们的代码库集成。我在执行http://www.codeproject.com/Articles/14819/How-to-use-log4net时发现了这篇文章,其中描述的步骤之一是
第 2 步:在您的 AssemblyInfo.cs 文件中添加以下行。
[assembly: log4net.Config.XmlConfigurator(ConfigFile="Web.config", Watch=true)] //For log4net 1.2.10.0
一旦我将那行代码添加到我的 AssemblyInfo.cs 中,记录器就开始工作了。
我在这个地方做了一些谷歌搜索,试图理解为什么需要这条线,并且大多数文档和评论声称 AssemblyInfo 是用于可选配置信息的。我不明白为什么添加这一行会使我的程序正常工作;我的关键问题是——AssemblyInfo.cs 中的配置信息如何被拾取和使用(是否有一些文档清楚地描述了这一点)——log4net 如何“知道”从 AssemblyInfo.cs 中获取该信息?
我从AssemblyInfo.cs 中的 assembly 关键字的含义了解。是否允许在内部使用方法?这些是程序集的属性,而不是其背后的机制。