【发布时间】:2011-02-06 20:34:50
【问题描述】:
我正在研究 C# 日志记录,如果消息低于日志记录阈值,我不希望我的日志消息花费任何时间进行处理。我能看到 log4net 所做的最好的事情是在评估日志参数之后进行阈值检查。
例子:
_logger.Debug( "My complicated log message " + thisFunctionTakesALongTime() + " will take a long time" )
即使阈值高于 Debug,仍然会评估 thisFunctionTakesALongTime。
在 log4net 中你应该使用 _logger.isDebugEnabled 所以你最终会得到 p>
if( _logger.isDebugEnabled )
_logger.Debug( "Much faster" )
我想知道是否有更好的 .net 日志记录解决方案,无需在每次我想记录时都进行检查。
在 C++ 中我可以这样做
LOG_DEBUG( "My complicated log message " + thisFunctionTakesALongTime() + " will take no time" )
因为我的 LOG_DEBUG 宏会自行检查日志级别。这让我可以在整个应用程序中使用 1 行日志消息,这是我非常喜欢的。有人知道在 C# 中复制这种行为的方法吗?
【问题讨论】:
标签: c# performance logging