我正在尝试使用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

10-05 22:50
查看更多