我们传统的记录方式是:
if (logger.isDebugEnabled()) {
logger.debug("something to log, and barbarbar {}", object);
}
但是使用lambda表达式进行日志记录以减少代码行和复杂性呢?
logger.debug(() -> return "something to log, and barbarbar " + object);
有没有理由说slf4j或其他记录器不提供这种记录方式?造成对象创建开销?
答案 0 :(得分:1)
我们传统的记录方式是......
在每个用例中都不必使用条件logger.isXXXXEnabled()
。它仅在您记录需要很长时间才能创建的对象时使用。例如,当您需要将某些数据库查询的日志结果或转换为XML / JSON等的复杂结构放入
对于其他情况,此检查过多。