gpt4 book ai didi

java - logback 中的 toString

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

我在我们的项目中使用logback。我已经浏览了大括号的 logback 链接。

logger.debug(" My class output value - {}, object toString() {}", object.value(), object.toString());

我的项目中未启用调试。我们看到 toString() 在我们的项目中被调用,这影响了我们的性能。在禁用调试的情况下,在代码执行期间会调用 toString() 吗?

我可以通过这种方法使用 toString() 吗?因为根据大括号定义,字符串连接不会发生。它仅适用于字符串连接还是也适用于方法调用?

最佳答案

来自 LogBack 文档:

Better alternative

There exists a convenient alternative based on message formats. Assuming entry is an object, you can write:

Object entry = new SomeObject();
logger.debug("The entry is {}.", entry);

Only after evaluating whether to log or not, and only if the decision is positive, will the logger implementation format the message and replace the '{}' pair with the string value of entry. In other words, this form does not incur the cost of parameter construction when the log statement is disabled.

因此,通过仅传递对象而不调用 toString(),您将节省 toString() 开销。

关于java - logback 中的 toString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50160672/

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