我正在开发一些应用程序,可以在两种环境下运行:开发或生产。我希望每个都有不同的日志记录基础结构。生产和开发log4net配置?
环境在运行时传递给我的.exe。我如何通过代码启用/禁用各自的appender?下面的配置中是否还需要调整一些内容?
我在这个app.config文件中有其他内容,用于为每个键提供基于this的“prod”值和“dev”值的应用程序设置,因此我不想要多个配置文件。
<log4net>
<root>
<level value="debug" />
<appender-ref ref="Dev" />
<appender-ref ref="Prod" />
</root>
<appender name="Dev" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="blabla 1" />
<layout type="log4net.Layout.PatternLayout">
<Header value="[Application Start] " />
<Footer value="[Application Exit] " />
<ConversionPattern value="%date (%property{ActiveStatus}) %-5level [%2thread] %-20.20logger{1} %message%newline" />
</layout>
</appender>
<appender name="Prod" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="blabla 2" />
<layout type="log4net.Layout.PatternLayout">
<Header value="[Application Start] " />
<Footer value="[Application Exit] " />
<ConversionPattern value="%date (%property{ActiveStatus}) %-5level [%2thread] %-20.20logger{1} %message%newline" />
</layout>
</appender>
</log4net>
顺便说一句,你可以移动只是东西到一个单独的文件。请参阅http://stackoverflow.com/a/445988/562906 –
sinelaw
2012-04-26 13:47:34
您可以在运行时访问log4net配置并修改appender集合 – lnu 2012-04-26 13:52:56
如何执行此操作? – Jerome 2012-04-26 14:14:51