Common Logging log4net INLINE WATCH
У меня есть следующий app.config в приложении, использующем Common.Logging.Log4net (опущено несколько частей для упрощения примера):
<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.
Итак, я хочу:
- Имейте только один файл конфигурации (app.Config моего приложения)
- Не нужно включать атрибут Assembly в AssemblyInfo для настройки log4net
- Измените раздел app.Config log4net (например, значение уровня корневого ведения журнала) во время выполнения приложения, и приложение автоматически обновит свою конфигурацию ведения журнала при изменении app.config.
Любая идея, как я мог бы выполнить эти требования, используя Common Logging + Log4net?