Configuration Log4Net到外部配置的相对路径

Configuration Log4Net到外部配置的相对路径,configuration,log4net,relative-path,Configuration,Log4net,Relative Path,我有一种情况,我从我的web根配置中引用了一个外部Log4Net配置文件。但是,是我的单个应用程序继承了web根配置,并反过来引用了外部Log4Net配置文件 如果我有一个到Log4Net配置的硬编码路径,这一切都可以很好地工作。例如:c:\inetpub\wwwroot\logging.config 我想做的是引用这个logging.config,而不必指定驱动器号,或者最好通过相对路径。如果网站现在位于E:\或D:\或F:\驱动器上,则可以轻松切换环境 我尝试以以下形式引用该文件:\inet

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

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

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

我尝试以以下形式引用该文件:\inetpub\wwwroot\logging.config-但Log4Net似乎无法获取它

我也考虑过在代码中从HttpRuntime.AppDomainAppPath中获取驱动器号,但它看起来太粗糙了

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


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

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

我在文件夹名称前加了一个反斜杠,删除后效果很好

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


只需确保日志文件夹存在。我不确定log4net是否会创建这个文件夹。希望对您有用。

log4net.config和web.config文件是否在同一文件夹中?如果是这样,则不需要指定路径。@Ephedra XML不会像C#那样作为转义字符进行解释。@log4net会自动创建文件夹。