gpt4 book ai didi

logging - 为多行文本显示每行日志

转载 作者:行者123 更新时间:2023-12-04 01:04:41 25 4
gpt4 key购买 nike

说我有一个多行文本 "a\nb\nc";当我记录它时,例如使用“调试”方法,我只得到一个日志;

这是预期的行为,但除第一行之外的行也显示在输出的左侧:

1234 [1] [DEBUG] Test - a
b
c
1235 [1] [DEBUG] Test - ...

一个简单的解决方法是每行生成一个日志以获得:
1234 [1] [DEBUG] Test - a
1235 [1] [DEBUG] Test - b
1236 [1] [DEBUG] Test - c
1237 [1] [DEBUG] Test - ...

_

有没有办法自动进行这种处理,还是应该编写一个简单的包装器来管理此设置?

_

提前致谢。

最佳答案

不可能也不推荐。

在您的第一个示例中,很明显存在两个日志语句,而在您的第二个示例中,您可能一目了然地假设有四个。

一个日志语句应该提供关于发生的事情和发生时间的单一来源信息,并且该信息在某种程度上应该是有用的。

想象一下,如果你有一个错误语句,比如一个异常,由于它的堆栈跟踪,它将跨越 30 行左右。在您的情况下,这看起来像是 30 个错误,自动化工具也可能将其报告为 30 个错误。这是错误信息,应该避免。

更不用说“一个日志语句!= 一个写入的日志”在您处理更复杂的日志记录情况时可能会导致同步破坏,多个线程同时写入同一个文件,或者更糟的是,多个 JVM 这样做。

如果“左边太远”的事情让您感到非常难过,我建议对生成的日志文件进行一些后期处理,例如在不包含 [DEBUG] 的每一行的开头添加 8 个左右的空格, [信息],...

关于logging - 为多行文本显示每行日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4669590/

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