【问题标题】:Log4Net Relative Path To External ConfigLog4Net 到外部配置的相对路径
【发布时间】:2013-03-11 14:18:18
【问题描述】:

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

如果我有一个到 Log4Net 配置的硬编码路径,这一切都很好。例如:c:\inetpub\wwwroot\logging.config

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

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

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

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

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

【问题讨论】:

  • log4net.config 和 web.config 文件是否在同一个文件夹中?如果是这样,您不需要指定路径。

标签: configuration log4net relative-path


【解决方案1】:

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

我在文件夹名称之前添加了一个反斜杠,删除它之后就可以了。

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

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

【讨论】:

  • @Ephedra XML 不像 C# 那样将 \ 解释为转义字符。
  • log4net 自动创建文件夹。
猜你喜欢
  • 1970-01-01
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-21
相关资源
最近更新 更多