我使用 logback 和 SLF4j 来登录我的应用程序。我有一个包含换行符的字符串。它是字符串值的一部分,但并不表示新行。当我打印字符串时,logback 会在新行中打印它。如何防止这种情况发生?
Code:
String str = "george\nmason"
logger.info(str);
登录模式:
<pattern>[%d{dd MMM yyyy HH:mm:ss,SSS}] [%5p] [%X{sid}] [%-20C{0} %25M]:[%-4L] - %m%n</pattern>
预期的:
[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 http://logback.qos.ch/manual/layouts.html#replace模式选项,以便用其他内容(例如空格)替换消息中的任何换行符:
%replace(%m){'\n', ' '}
在你的情况下,你想更换\n
with \\n
:
<pattern>[%d{dd MMM yyyy HH:mm:ss,SSS}] [%5p] [%X{sid}] [%-20C{0} %25M]:[%-4L] - %replace(%m){'\n', '\\n'}%n</pattern>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)