gpt4 book ai didi

java - 可以在 log.debug 中进行计算吗

转载 作者:行者123 更新时间:2023-11-30 06:56:51 25 4
gpt4 key购买 nike

我有一个方法,可以为大量对象调用。它根据某些条件进行过滤并返回过滤后的对象列表。现在完成日志记录的方式是,每次过滤掉一个项目时,都会将其与 id(过滤原因)一起记录。这会导致多个(100 条)日志语句显示这样的内容:“此项目因此 ID 而被删除”。

为了使日志更具可读性,我正在考虑继续将已删除的项目与 id 一起推送到 log.debug 内的 map 中,然后在 return 语句之前将它们打印在一起。这是一个可以接受的安排吗?因为在我看来这像是对 log.debug 的滥用。

所以,实际上这就是我的 log.debug 的样子

log.debug("", () -> myMap.put(itemRemoved, id));

我忘记补充一点,这里的 myMap 没有/打算在生产代码中使用。它仅用于记录目的。

最佳答案

一般来说,我不会在日志语句中做任何事情。原因很简单。

有人可以编写一个脚本来删除具有特定模式的每一行(对于具有大量无用日志消息的项目)

这会删除其中的一部分逻辑。

就您而言,此 map 仅用于调试。所以这意味着这不是重要的数据。但如果在未来,有人可能会发现使用这张 map 来实现新功能很有趣。这在测试中效果很好,但在生产中有趣的附加,因为奇怪的是, map 不再填充。

因此,请务必限制对此 map 的访问,并添加文档以防止出现任何错误。

但我的一般答案是从不在 log 方法中编写 set 语句。

关于java - 可以在 log.debug 中进行计算吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41629945/

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