Log4Net相对路径到外部配置

时间:2013-03-21 21:14:40

标签: configuration log4net relative-path

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

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

我想要做的是引用此logging.config,而不必指定驱动器号或最好通过相对路径。如果网站现在存在于E:\或D:\或F:\ drives上,则可以轻松切换环境。

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

我还考虑过在代码中抓取来自HttpRuntime.AppDomainAppPath的驱动器号,但它看起来很糟糕。

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

提前感谢一堆帮助。 :)

1 个答案:

答案 0 :(得分:7)

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

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

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

确保Logs文件夹存在。我不确定log4net是否会创建该文件夹。希望它适合你。