试图添加自定义的Logback模式,以便将异常堆栈跟踪记录到单行中(新行字符用unicode换行符\ u2028替换),
%date{"yyyy-MM-dd'T'HH:mm:ss.SSSZ", UTC} %5p %t %c{5}:%L [log_framework=logback;app_name=${APP_NAME};app_version=${APP_VERSION};instance_id=${CF_INSTANCE_INDEX}] %m MULTIEXCEPTION %replace(%xException){'\n','\u2028'}%nopex%n
注意:请参见Github中的spring-config.xml
配置文件
在控制台中,\n
被替换,Exception stacktrace在一行中,但是\n
被替换为字符串“ u2028”,而不是用“行分隔符”字符(\ u2028)。
如果我尝试直接记录此“行分隔符”字符(通过Logback,作为日志消息)-它将正确打印在控制台中。
可能是什么问题?
答案 0 :(得分:1)
我已经通过直接输入“行分隔符” Unicode字符()来做到这一点:
%date{"yyyy-MM-dd'T'HH:mm:ss.SSSZ", UTC} %5p %t %c{5}:%L [log_framework=logback;app_name=${APP_NAME};app_version=${APP_VERSION};instance_id=${CF_INSTANCE_INDEX}] %m MULTIEXCEPTION %replace(%xException){'\n','
'}%nopex%n
注意:您还可以通过添加下一个应用程序属性,在Spring Boot应用程序中设法使“异常”堆栈跟踪成为“单行”:
logging.exception-conversion-word: "%replace(%xException){'\\n','\u2028'}%nopex"