2015-09-25 82 views
0

我正在使用log4net来记录来自我的c#应用程序的消息。我想知道,如果记录一个跟踪输入的时候,我可以使用下面的代码:可以在log.Trace之前使用log.IsDebugEnabled吗?

if (log.IsDebugEnabled) 
    log.Trace("MY trace entry"); 

我的假设是,如果日志记录级别设置为跟踪则调试将永远启用工作。由于调试和跟踪仅用于故障排除,因此任何调试代码都可以输入此块。

+0

是否有你需要的if语句特别的原因?我问,因为日志级别设置已经可以控制实际允许通过的日志调用。 – Phaeze

回答

2

可能可以使用像一个LevelRangeFilter在调试级别禁用日志记录,但离开它能够在TRACELEVEL,这可能会导致你的方法

那么问题为什么不检查实际水平?

if (log.Logger.IsEnabledFor(log4net.Core.Level.Trace)) 
    log.Trace("MY trace entry"); 
+0

我不知道这是可能的,我发现使用log.IsDebugEnabled的所有例子。谢谢! –

相关问题