我有以下要求。
为简单起见,假设我的解决方案由两个项目组成。
- 包装 Log4Net 功能的类库项目。
- 一个 MVC Web 应用程序项目作为调用应用程序到类库记录器方法,而后者又应该调用 log4net 实际方法。
我想在类库 app.config 文件或此项目中的 xml 文件中指定 log4net 配置。
我在这个线程上阅读了类似的问题How do you configure and enable log4net for a stand-alone class library assembly?
但是将以下两行放入我的类库项目的 Assembly.info 文件的解决方案对我不起作用。
[assembly: log4net.Config.Repository("ClassLibrary1")]
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "ClassLibrary1.config", Watch = true)]
由于 Log4Net 无法找到相关配置。
记录我的类库程序集的名称= ClassLibrary1
我从我的 mvc web 应用程序项目中引用这个库。
任何想法为什么解决方案2在线程中如何为独立的类库程序集配置和启用log4net?
不适合我吗?
编辑:
我的程序流程是这样的。
我的 MVC 应用程序启动。
Unity 通过构造函数注入成功注入了我的 log4netwrapper 的单例实例。
然后在一个动作方法中,我通过我的包装器调用记录器。在包装构造函数中,我创建了 XmlConfigurator。
请注意,在调用时我没有提供 fileinfo 对象作为读取配置条目的路径。仅在我的包装程序集中为此目的
[assembly: log4net.Config.Repository("ClassLibrary1")]
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "ClassLibrary1.config",
Watch = true)].
这里有什么解决方案吗?