我正在尝试使用logback.xml中的~
转换用换行符\n
替换replace(p){r, t}
。
我有像这样的图案布局
%p %c [%t] \\(%M:%L\\) - %replace(%msg){'~', '\n'} %nopex %n
当我放入
\n
时,logback将其更改为'n'。但是如果我放'\\\n'
,那么它会保留两个反斜杠,即它会保留'\\\n'
。在深入了解logback的源代码之前,我想检查是否有人尝试过/面对过它?对我来说,似乎我们不能使用replace方法在消息中添加换行符!
它添加了一个额外的转义字符(
\\
)。 最佳答案
可能的解决方法是使用正则表达式捕获组:<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %replace(%msg){'(\n)','$1'}%n</pattern>
但是仍然不可能添加其他转义字符,例如制表符“ \ t”
我打开了一个问题https://jira.qos.ch/browse/LOGBACK-1261