log4net性能:我应该在尝试登录之前检查日志级别吗?

Day*_*Two 7 c# log4net

如果log4net配置中的日志级别设置为Info级别,您是否期望从A)或B)获得更好的性能?_log.Debug会自己执行更多代码并花费更长时间吗?

一个)

if(_log.IsDebugEnabled)
  _log.Debug("some message");
Run Code Online (Sandbox Code Playgroud)

B)

_log.Debug("some message");
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 9

在这种情况下,我会使用B.

但是,如果构造日志消息(参数为log.Debug)可能需要一段时间 - 例如涉及重要的字符串连接 - 那么我会选择A.它将最终在"yes,log it"情况下执行相同的测试两次,但它不需要在"不,不记录它"的情况下构造日志消息.