我想使用log4net作为IIS托管的WCF服务。
但是为了方便地更改设置,我想使用一个单独的配置文件。
所以我添加到Web。配置(以及WCF服务库的App.config)
<appSettings>
<add key="log4net_config" value="log4net.config" />
</appSettings>
但是这会导致IIS的当前目录,也就是
C:WindowsSystem32inetsrv
永远不会有我的log4net。配置文件。
但是我想把log4net配置成
var configFile = ConfigurationManager.AppSettings["log4net_config"];
var fileInfo = new FileInfo(configFile);
XmlConfigurator.ConfigureAndWatch(fileInfo);
我如何配置一个目录来满足这个需求?
首先,您可以将完整路径放入log4.net配置文件。
其次,您可以使用System.Web.Hosting.HostingEnvironment.MapPath
来解析路径,例如"~/log4net.config"