3

我有一种情况,我从我的 web 根配置中引用了一个外部 Log4Net 配置文件。但是,我的个人应用程序继承了 Web 根配置并反过来引用外部 Log4Net 配置文件。

如果我有一个到 Log4Net Config 的硬编码路径,这一切都可以正常工作。例如:c:\inetpub\wwwroot\logging.config

我想做的是引用这个 logging.config 而不必指定驱动器号或最好通过相对路径。如果网站现在存在于 E:\ 或 D:\ 或 F:\ 驱动器上,这将使切换环境变得容易。

我尝试以这种形式引用文件:\inetpub\wwwroot\logging.config - 但 Log4Net 似乎没有选择它。

我也考虑过在代码中从 HttpRuntime.AppDomainAppPath 中获取驱动器号,但它看起来很hack'ish。

有没有人想出一种奇特的方法来使用引用路径而不是硬编码路径来引用外部 Log4Net 配置文件?

提前感谢大家的帮助。:)

4

1 回答 1

9

我遇到过同样的问题。我想在我的解决方案中创建一个名为 Logs 的文件夹并将所有日志放入其中,但如果没有驱动器号,它就无法工作。

我在文件夹名称之前添加了一个反斜杠,并且在删除它之后才起作用。

<file value="Logs\RedmineTaskCreator.log" />

只需确保存在 Logs 文件夹即可。我不确定 log4net 是否会创建该文件夹。希望对你有效。

于 2013-05-21T10:56:29.067 回答