带有单独配置的IIS WCF服务的log4net

时间:2014-08-18 11:59:24

标签: c# asp.net wcf iis log4net

我想将log4net用于IIS中托管的WCF服务。

但是要轻松更改设置,我想使用单独的配置文件。

所以我添加到了Web.Config(以及WCF服务库的App.config)

<appSettings>
    <add key="log4net_config" value="log4net.config" />
</appSettings>

但是这会导致IIS的当前目录,即

C:\Windows\System32\inetsrv

永远不会有我的log4net.config文件。

但我想将log4net配置为

var configFile = ConfigurationManager.AppSettings["log4net_config"];
var fileInfo = new FileInfo(configFile);
XmlConfigurator.ConfigureAndWatch(fileInfo);

如何配置符合此需求的目录?

1 个答案:

答案 0 :(得分:5)

首先,您可以将完整路径放到log4.net配置文件中。

其次,您可以使用System.Web.Hosting.HostingEnvironment.MapPath来解析"~/log4net.config"

之类的路径