Log4Net相对路径到外部配置

One*_*ind 2 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配置文件使用参考路径而不是硬编码路径?

提前感谢一堆帮助.:)

Adr*_*ley 8

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

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

<file value="Logs\RedmineTaskCreator.log" />
Run Code Online (Sandbox Code Playgroud)

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

  • @Ephedra XML没有像C#那样解释\作为转义字符. (3认同)
  • log4net自动创建文件夹. (2认同)