【发布时间】:2012-03-07 13:42:59
【问题描述】:
我目前在应用程序的 app.config 文件中有 log4net 配置,如下所示:
...
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\Service.log"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<logger name="Data.WebService">
<level value="ALL"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="RollingLogFileAppender"/>
</logger>
<logger name="Data.Host.HostService">
<level value="ALL"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="RollingLogFileAppender"/>
</logger>
</log4net>
我知道我可以通过log4net.Config.XmlConfigurator.Configure(); 阅读此内容,但是,我也希望能够通过某种调用来更新它。我将接受来自 Web 服务的配置,一旦我拥有 set the new config(目前只有日志级别,但我不排除其他可以配置的东西),我需要更新配置文件中的内容.
将所有配置放在一个文件中非常方便,但是,如果这样更简单,我愿意将配置放在另一个文件中。
【问题讨论】: