gpt4 book ai didi

java - 我在这里滥用日志级别的想法吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:52 25 4
gpt4 key购买 nike

我有一个案例想引入一些错误日志记录。但在这一点上,我不确定这里发生异常的频率(实验性功能,错误取决于用户输入),我有点担心堆栈跟踪会淹没日志。

所以我想到了这个解决方案:

catch (Exception ex) {
if (LOGGER.isDebugEnabled()) {
LOGGER.error("Exception during save()", ex); // log with stacktrace
} else {
LOGGER.error("Exception during save(): {}", ex.toString());
}
}

但我对此并不满意,因为我想滥用调试级别来记录错误级别。我使用 org.slf4j.Logger

最佳答案

如果您只关心不要使用不相关的堆栈跟踪向日志发送垃圾邮件,您仍然可以不滥用日志级别的想法,而是接受它:

catch (Exception ex) {
LOGGER.error("Exception during save(): {}", ex.toString());
LOGGER.debug("Detailed exception output:", ex);
}

在性能方面,您提出的使用 isDebugEnabled 的解决方案得分稍好一些,因为除非您确实需要,否则不会为第二次调用创建 String 对象(第一个参数)。您还可以在调用堆栈上保留一个级别。

关于java - 我在这里滥用日志级别的想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49400817/

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