gpt4 book ai didi

java - log.info (“dsasdds {}” , var) 和 log.info (“dsasdds ” + var) 之间的区别?

转载 作者:行者123 更新时间:2023-12-02 01:27:54 27 4
gpt4 key购买 nike

之前我通常使用log.info(“dsasdds ” + var)添加日志,但现在,在我的新工作场所,我看到每个人都使用 log.info(“dsasdds {}”, var)打印日志的方法?这两种方式在内部工作方式上有什么显着差异吗?

最佳答案

这取决于日志中打印的变量的计算。
假设 var.toString() 相对昂贵,并且当前记录器没有启用 info 级别,通过使用 log.info(“dsasdds ” + var) 由于没有写入日志,因此计算了“无”相对昂贵的操作。
使用 log.info(“dsasdds {}”, var) 时,仅当当前记录器的级别与请求的级别匹配时才会调用 var.toString() ( 信息在这里)。
对于表达式,suppliers (that are lazily evaluated) is also a possibility :

logger.trace("Some long-running operation returned {}", () -> expensiveOperation());

现在使用系统地惰性计算表达式/变量是一个好习惯吗?不一定,但这不会损害您示例中的可读性。

关于java - log.info (“dsasdds {}” , var) 和 log.info (“dsasdds ” + var) 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56587651/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com