Pra*_*eek 12 logging log4net log4j
说我有一个多行文字"a \nb \nc"; 当我记录它时,例如使用"debug"方法,我只得到一个日志;
这是预期的行为,但是输出中左侧也会显示排除第一行的行:
1234 [1] [DEBUG] Test - a
b
c
1235 [1] [DEBUG] Test - ...
Run Code Online (Sandbox Code Playgroud)
一个简单的解决方法是每行生成一个日志以获取:
1234 [1] [DEBUG] Test - a
1235 [1] [DEBUG] Test - b
1236 [1] [DEBUG] Test - c
1237 [1] [DEBUG] Test - ...
Run Code Online (Sandbox Code Playgroud)
_
有没有办法自动进行这种处理,还是应该编写一个简单的包装来管理这个设置?
_
提前致谢.
dar*_*ioo 10
不可能,也不推荐.
在你的第一个例子中,很明显存在两个日志语句,而在你的第二个例子中,人们可能会一眼就看出其中有四个.
一个日志语句应提供有关发生的事件和发生的时间的单一来源信息,并且该信息在某种程度上应该是有用的.
想象一下,如果你有一个错误语句,比如异常,由于它的堆栈跟踪,它将跨越30行左右.在您的情况下,这看起来像30个错误,自动化工具也可能将其报告为30个错误.这是错误的信息,应该避免.
更不用说"一个日志声明!=一个写入的日志"可能会导致同步破坏,当您处理更复杂的日志记录情况时,多个线程同时写入同一文件,或者更糟糕的是,多个JVM这样做.
如果"左边太远"的事情让你感到非常悲痛,我建议对生成的日志文件进行一些后期处理,例如在不包含[DEBUG]的每一行的开头添加8个空格左右,[INFO],......
| 归档时间: |
|
| 查看次数: |
6055 次 |
| 最近记录: |