Mar*_*tus 0 c# asp.net iis wcf log4net
我想将log4net用于IIS中托管的WCF服务.
但是要轻松更改设置,我想使用单独的配置文件.
所以我添加到Web.Config(以及WCF服务库的App.config)
<appSettings>
<add key="log4net_config" value="log4net.config" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
但是这会导致IIS的当前目录
C:\Windows\System32\inetsrv
Run Code Online (Sandbox Code Playgroud)
并且永远不会有我的log4net.config文件.
但我想配置log4net之类的东西
var configFile = ConfigurationManager.AppSettings["log4net_config"];
var fileInfo = new FileInfo(configFile);
XmlConfigurator.ConfigureAndWatch(fileInfo);
Run Code Online (Sandbox Code Playgroud)
如何配置满足此需求的目录?
首先,您可以将完整路径放到log4.net配置文件中.
其次,您可以使用System.Web.Hosting.HostingEnvironment.MapPath例如解决路径"~/log4net.config"