常常我们写DEBUG的时候 输出很多东西 很多字符串
如 log.debug("假设我是很浪费性能的debug数据"");
这样的写法 很浪费性能 , 那么有人说了 我不开debug 级别 很好, 你不开debug 级别 不代表不调用方法函数 我们看一下源码
public void debug(Object message) {
if(repository.isDisabled(Level.DEBUG_INT))
return;
if(Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel())) {
forcedLog(FQCN, Level.DEBUG, message, null);
}
}
实际上参数传过来了 也组装好了 只不过没有输出日志。该浪费的性能 也都浪费了。
看到上面的源码 是不是想到了什么?不错我们利用 log 对象提供的方法来判断是否组装和输出日志
if (log.isDebugEnabled()) {
log.debug("假设我是很浪费性能的debug数据");
}
网友评论