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