Log4Net没有注意app.config文件的修改

时间:2012-06-03 17:16:54

标签: log4net log4net-configuration

首先让我解释一下我的目标是什么。我试图允许修改我的配置文件生效,而无需重新启动我的程序/调试。现在我试图通过两种方式来解决这个问题,第一种方法是简单地在Assemblyinfo.cs文件的底部添加以下代码

[assembly: log4net.Config.XmlConfigurator(Watch=true)]

现在记录器按预期工作,但是,当我在调试期间修改.config文件时,我没有使用我所做的修改。

我最初的假设是,当程序因任何原因运行时,无法“监视”app.config文件。所以,我决定尝试创建一个外部配置文件并将Log4Net信息放在那里。为此,我将所有Log4Net信息移出app.config文件并将其移动到我创建的文件“Log4Net.config”中。然后我将Assemblyinfo.cs中的代码修改为以下内容:

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

但是,现在记录器说它在启动时找不到配置文件。所以,这就是我要问的问题。

1)如果确实可以监视app.config进行修改,我做错了什么?为什么在程序运行时没有注意到并实现了我的修改?

2)如果需要外部配置文件,为什么我创建的新配置文件不能被Log4Net找到?

这是我关于stackoverflow的第一个问题,我环顾四周但找不到直接解决我问题的东西。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

如果使用Visual Studio调试应用程序,则需要修改输出文件夹中的YourApplication.vshost.exe.config文件(即调试期间处于活动状态的文件)。