有趣的问题我正在努力解决。 所以我们在iis7上运行了简单的wcf服务。与common.logging相关的代码如下:
using Common.Logging;
private static readonly ILog log = LogManager.GetCurrentClassLogger();
log.Error("Opened Sagas Monitoring Service: {0}", ex);
web.config配置:
<configSections>
<sectionGroup name="commonLogging">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
<commonLogging>
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
<arg key="configType" value="FILE-WATCH" />
<arg key="configFile" value="~/log4net.config" />
</factoryAdapter>
</logging>
log4net.config与web.config在同一个部署文件夹中,包含我们需要的所有程序集。
接下来是问题所在。在我们调用服务后,它不会创建记录器。也不例外。但是当我们的服务打开并且我们无论如何更改我们在部署文件夹中的web.config文件时,它将立即获取记录器。 FactoryAdapter似乎存在问题。有什么想法吗?