繁体   English   中英

Java-使用功能接口和Lambda表达式进行日志记录

[英]Java - using functional interface and lambda expression to do logging

我们进行日志记录的传统方法是:

if (logger.isDebugEnabled()) {
    logger.debug("something to log, and barbarbar {}", object);
}

但是,使用lambda表达式进行记录以减少代码行和复杂度又如何呢?

logger.debug(() -> return "something to log, and barbarbar " + object);

slf4j或其他记录器没有任何理由不提供这种方式进行记录吗? 对象创建开销造成的?

我们做日志的传统方法是...

在每个用例中都没有必要使用条件logger.isXXXXEnabled() 仅在记录需要大量时间才能创建的对象时使用。 例如,当您需要将某些数据库查询或转换为XML / JSON的复杂结构的结果记录到日志中时。

在其他情况下,此检查过多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM