如何防止logback / slf4j解析新的行字符
我正在使用SLF4j的logback登录我的应用程序。 我有一个包含新行字符的字符串。 它是字符串值的一部分,但不表示新行。 当我打印字符串时,logback将其打印在一个新行中。 怎么预防这个?
码:
String str = "george\nmason" logger.info(str);
回归模式:
[%d{dd MMM yyyy HH:mm:ss,SSS}] [%5p] [%X{sid}] [%-20C{0} %25M]:[%-4L] - %m%n
预期:
[19 Feb 2015 20:19:27] [ INFO] [] [myClass myMethod]:[52 ] - george\nmason
实际产量:
[19 Feb 2015 20:19:27] [ INFO] [] [myClass myMethod]:[52 ] - george mason
您可以为模式添加replace
选项,以便使用其他内容替换消息中的任何换行符,例如空格:
%replace(%m){'\n', ' '}
在您的情况下,您想要用\\n
替换\n
\\n
:
[%d{dd MMM yyyy HH:mm:ss,SSS}] [%5p] [%X{sid}] [%-20C{0} %25M]:[%-4L] - %replace(%m){'\n', '\\n'}%n