将行分隔符 (\u2028) 添加到 Logback 模式中

Adding Line separator (\u2028) into Logback pattern

尝试添加自定义 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 被替换,异常堆栈跟踪在一行中,但 "Line separator" 字符 (\u2028) 被替换为字符串 \n =26=].

如果我尝试直接记录此 "Line separator" 字符(通过 Logback,作为日志消息)- 它会正确打印在控制台中。

可能是什么问题?

我通过直接输入 "Line separator" 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 引导应用程序中创建异常堆栈跟踪 "single-lined"
logging.exception-conversion-word: "%replace(%xException){'\n','\u2028'}%nopex"