我有两个Dll它们都有自己的静态记录器实例,如下所示:
public static log4net.ILog log = log4net.LogManager.GetLogger(logLabel);
我有一个Program.cs
文件和两个Dll命名为
1)DllWXmlConfigurator
2)DllWihtoutXmlConfigurator
。
这是我从程序中调用Dlls的顺序
1)DllWihtoutXmlConfigurator : do logging
2)DllWXmlConfigurator :do logging
(这有[assembly: XmlConfigurator(Watch = true)]
)
现在没有记录,直到我添加
[assembly: XmlConfigurator(Watch = true)]
也是DllWihtoutXmlConfigurator
我不想将此添加到program.cs
我不明白的原因是为什么不是每个这些单独的静态实例并且能够以不同的方式运行?
为什么日志记录不会发生,直到它们都有行
[assembly: XmlConfigurator(Watch = true)]
图片视图: App_A有两个Dll:Dll1和Dll2
App_A --------> Dll1有自己的log4netRef和静态记录器
App_A --------> Dll2它有onw log4NetRef和静态记录器和行[assembly:XmlConfigurator(Watch = true)]
应用程序启动,我调用Dll1进行日志记录然后我调用Dll2进行日志记录..没有记录发生,直到我将[assembly:XmlConfigurator(Watch = true)]添加到Dll1。