log4net的IIS WCF服务与单独的配置



我想使用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"

最新更新