【发布时间】:2016-07-30 01:29:17
【问题描述】:
我正在尝试从 Java 堆栈跟踪中删除换行符。
我遵循 logback 模式 -
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %replace(%msg){'\n', ''}%n</pattern>
我希望它可以替换消息中的换行符,但它没有这样做。我看到用换行符打印出的堆栈跟踪。
但是,如果我使用以下模式(仅用于测试目的)-
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %replace(%msg){'.*', 'x'}%n</pattern>
我发现消息被字符 x 替换,但堆栈跟踪仍按原样打印。
这让我相信 logback 独立处理堆栈跟踪。 我浏览了 logback 文档,它说可以通过 (%ex) 引用 stacktraes。
但是,对于 appender,我一次只能激活一个模式。 如何确保在堆栈跟踪中没有换行符?
【问题讨论】: