【问题标题】:Log4Net not watching for app.config file modificationsLog4Net 不关注 app.config 文件修改
【发布时间】:2012-06-03 17:16:53
【问题描述】:

首先让我解释一下我的目标是什么。我正在尝试允许对我的配置文件的修改生效,而无需重新启动我的程序/调试。现在我尝试了两种方法,第一种方法是在我的 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 的第一个问题,我环顾四周,但找不到直接解决我问题的内容。感谢您的帮助!

【问题讨论】:

标签: log4net log4net-configuration


【解决方案1】:

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

【讨论】:

  • 斯特凡'你是对的。使用 Visual Studio 进行调试时,您需要改为修改 vshost.exe.config 文件。它对我有用。
猜你喜欢
  • 2012-02-19
  • 2013-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
相关资源
最近更新 更多