我在使用Common.Logging.Log4net的应用程序中有以下app.config(省略了几个部分以简化示例):
<configuration>
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
...
<common>
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net1211">
<arg key="configType" value="INLINE" />
</factoryAdapter>
</logging>
</common>
<log4net>
<appender ...
<root>
<level value="INFO" />
</root>
...
</log4net>
我们的想法是让Common Logging运行时自动配置log4net(没有程序集属性),并使用唯一的文件来进行此配置,即应用程序的 app.config 。
虽然使用此INLINE configType但我无法在应用程序运行期间即时更改app.config以更新日志记录配置,因为此行为是通过FILE-WATCH configType实现的。
所以我想:
任何想法如何使用Common Logging + Log4net填写这些要求?