【问题标题】:Adding Line separator (\u2028) into Logback pattern在 Logback 模式中添加行分隔符 (\u2028)
【发布时间】:2018-06-19 13:31:08
【问题描述】:

尝试添加自定义 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 被替换,异常堆栈跟踪位于一行中,但是,\n 被替换为字符串“u2028”,而不是“行分隔符”字符 (\u2028)。

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

可能是什么问题?

【问题讨论】:

    标签: logback cloud-foundry spring-logback


    【解决方案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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 2020-12-21
      • 2019-09-08
      • 1970-01-01
      相关资源
      最近更新 更多