我正在Mono中开发一个C#应用程序并尝试使用log4net。当我手动加载配置时,记录器工作得很好但是,我想要更优雅的东西。
在log4net文档中,它声明可以使用以下(或类似)行从程序集加载配置:
[assembly:log4net.Config.XmlConfigurator(ConfigFileExtension =“log4net”,Watch = true)]
我确保配置文件被移动到构建目录并具有该扩展名。我还确保AssemblyInfo.cs在MonoDevelop中标记为“Application Definition”。我不知道为什么这不起作用。有没有人有任何想法?
顺便说一句:我到处寻找了一个想要找到答案的地方。我也尝试从资源加载配置,但也不想工作。答案 0 :(得分:0)
使用log4net的多个配置文件是可能的,但很尴尬。请参阅此处的讨论:log4net - configure using multiple configuration files
您是否正在使用.exe和.dll进行日志记录?
您可以使用单个配置文件吗?
请记住文档中的这一部分:“如果使用配置属性,则必须调用log4net以允许它读取属性。对LogManager.GetLogger的简单调用将导致调用程序集上的属性被读取和处理因此,必须在应用程序启动期间尽早进行日志记录调用,当然在加载和调用任何外部程序集之前。“
尝试将问题提炼为一个简单的例子。