【发布时间】:2016-07-20 16:43:17
【问题描述】:
我正在使用 log4j syslog appender,并注意到当发生异常时,appender 会将堆栈跟踪中的每个条目写入一个新行。
有没有办法配置它,以便整个堆栈跟踪将作为一行而不是多行?
【问题讨论】:
-
我不确定你能做到这一点,因为我不相信实际上是 log4j 正在执行堆栈跟踪写入。您可以将其写入字符串并删除回车符。
-
模式布局怎么样?
-
看起来 @davidhxx 回答了你的问题,但我的意思是我的印象是 Log4J 和所有日志记录工具都只是使用
Throwable.printStackTrace()来输出堆栈跟踪,在这种情况下您可能无法轻松更改格式。但是,根据下面的答案,Log4J 似乎有某种规定来处理它,我猜这是使用覆盖的printStackTrace()调用之一将值写入流/写入器,以便您可以更改它.