我可以在 log.Trace 之前使用 log.IsDebugEnabled 吗?
Can I use log.IsDebugEnabled before a log.Trace?
我正在使用 log4net 记录来自我的 C# 应用程序的消息。我想知道在记录跟踪条目时是否可以使用以下代码:
if (log.IsDebugEnabled)
log.Trace("MY trace entry");
我假设如果日志记录级别设置为跟踪,那么将始终启用调试。由于 Debug 和 trace 仅用于故障排除,因此允许任何调试代码也进入此块。
可能可以使用类似 LevelRangeFilter 的东西在调试级别禁用日志记录,但在跟踪级别启用它,这可能会导致您的方法出现问题
那么为什么不检查实际水平呢?
例如
if (log.Logger.IsEnabledFor(log4net.Core.Level.Trace))
log.Trace("MY trace entry");
我正在使用 log4net 记录来自我的 C# 应用程序的消息。我想知道在记录跟踪条目时是否可以使用以下代码:
if (log.IsDebugEnabled)
log.Trace("MY trace entry");
我假设如果日志记录级别设置为跟踪,那么将始终启用调试。由于 Debug 和 trace 仅用于故障排除,因此允许任何调试代码也进入此块。
可能可以使用类似 LevelRangeFilter 的东西在调试级别禁用日志记录,但在跟踪级别启用它,这可能会导致您的方法出现问题
那么为什么不检查实际水平呢?
例如
if (log.Logger.IsEnabledFor(log4net.Core.Level.Trace))
log.Trace("MY trace entry");