我有一种情况,我从我的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配置文件的奇特方法?
提前感谢一堆帮助。 :)
答案 0 :(得分:7)
我有同样的问题。我想在我的解决方案中创建一个名为Logs的文件夹,并将所有日志放在其中,但如果没有驱动器号,它就无法运行。
我在文件夹名称之前添加了一个反斜杠,并在删除后工作。
<file value="Logs\RedmineTaskCreator.log" />
确保Logs文件夹存在。我不确定log4net是否会创建该文件夹。希望它适合你。