我有一个在mod_mono下运行的ASP.NET MVC应用程序。我已经设置了日志记录:
XmlConfigurator.ConfigureAndWatch(new FileInfo("log4net.config"));
这在MonoDevelop下运行得很好,但是在Apache部署中,我没有看到任何日志文件。我甚至创建了自己的appender并将其安装在代码中,以检查我的appender配置错误是不是有问题。
发生了什么?
答案 0 :(得分:0)
在mod_mono下,您的应用程序可以在您配置它的任何地方生活,但它从/
运行。您为log4net配置文件提供的路径是相对于该路径而不是您的应用程序根目录。
您可以使用Server.Path
获取应用程序的根目录:
var configFile = Path.Combine(Server.Path("~"), "log4net.config");
XmlConfigurator.ConfigureAndWatch(new FileInfo(configFile));