相关疑难解决方法(0)

无法理解为何使用参数化日志记录

我正在阅读Java中的参数化日志记录,据说它使用参数化日志记录而不是连接,因为它执行惰性求值.

而不是

logger.debug("My text is" + x);
Run Code Online (Sandbox Code Playgroud)

使用:

logger.debug("My text is {}", x);
Run Code Online (Sandbox Code Playgroud)

如果跟踪级别仅设置为信息日志,为什么连接会在第一个方案中发生?

另外如果我在日志中有一个耗时的功能,据说使用:

logger.debug("My text is {}", () -> compute());
Run Code Online (Sandbox Code Playgroud)

代替

logger.debug("My text is {}", compute());
Run Code Online (Sandbox Code Playgroud)

在这种情况下,为什么lambda方法被认为是更好的方法.不会计算也像字符串连接情况一样懒惰吗?

java logging java-8

4
推荐指数
2
解决办法
261
查看次数

标签 统计

java ×1

java-8 ×1

logging ×1