Я настроил свой log4net для отслеживания изменений, внесенных в файл app.config.
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Когда я запускаю свое приложение и что-то изменяю в файле конфигурации, эти изменения вступают в силу только после перезапуска приложения. Почему это может быть?
Есть ли способ указать log4net следить за изменениями в app.config? Как:
<appender name="FileAppender" type="log4net.Appender.FileAppender" >
<watch value="true" />
</appender>
------------- РЕДАКТИРОВАТЬ -------------
Я пытался использовать отдельный файл конфигурации: log4net.config.
Это выглядит так:
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="c:\log.txt" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %c (line %L) -- %m%n" />
</layout>
</appender>
<root>
<appender-ref ref="FileAppender" />
</root>
</log4net>
В моей сборке Info.cs я написал следующее:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
Класс, регистрирующий файл, выглядит следующим образом:
ILog myLogger = LogManager.GetLogger(typeof(Form1));
myLogger.Debug("test");
Это работает как старая версия. Записи в лог-файле сделаны, но когда я изменяю свой log4net.config во время выполнения, эти изменения не применяются .... «Watch = true» должно включить эту функцию, верно?