Я настроил свой log4net на наблюдение за изменениями, внесенными в файл app.config.
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Когда я запускаю свое приложение и изменяю что-то в файле config, эти изменения вступают в силу только после перезапуска приложения. Почему так происходит?
Есть ли способ указать log4net следить за изменениями в app.config? Например:
<appender name="FileAppender" type="log4net.Appender.FileAppender" >
<watch value="true" />
</appender>
------------- EDIT -------------
Сейчас я попробовал использовать отдельный конфиг-файл: 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>
В моем assemblyInfo.cs я написал следующее:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
Класс, который ведет журнал в файл, выглядит так:
ILog myLogger = LogManager.GetLogger(typeof(Form1));
myLogger.Debug("test");
Это работает как в старой версии. Записи в журнал делаются, но когда я изменяю log4net.config во время выполнения, эти изменения не применяются..... "Watch=true" должен включить эту функцию, верно?