我正在使用通过配置文件配置的log4net。有一种情况我希望在调试中记录所有内容(升级过程中使用的一些代码)。无论如何我可以获得当前的日志记录级别,将其设置为调试,运行指定的代码,然后返回之前的任何内容?
答案 0 :(得分:3)
您可以使用
专门为DEBUG在配置文件中添加一个部分 <logger name="MyApp.DebugLogging" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="MainLog"/>
</logger
然后在您的代码中,您可以使用以下方式访问此记录器:
private static readonly ILog debuglog = log4net.LogManager.GetLogger("MyApp.DebugLogging");
并将代码块中的变量用作
debuglog .Debug(ex);
这里的想法是你应该能够在配置文件中创建不同的记录器,然后可以灵活地选择在代码块中使用哪个记录器
答案 1 :(得分:1)
这是一个想法:
仅使用log4net配置文件。将“watch”标志设置为true,以便观看它。
在此配置文件中,设置记录过滤器(在每个appender中)。将其最低级别设置为,例如Info
或其他。请参阅http://logging.apache.org/log4net/release/manual/configuration.html
然后,在升级阶段之前,编辑配置文件并将过滤器的最小级别更改为Debug
。
升级完成后,将过滤器的最小级别设置回其原始值。
答案 2 :(得分:1)