【问题标题】:Multiline exception to single line using java code使用java代码的单行多行异常
【发布时间】:2022-11-07 03:41:28
【问题描述】:

我的 Spring Boot Java 应用程序的日志存储在 CloudWatch 中。 问题是当异常发生时,堆栈跟踪没有正确出现,因为它分散在 CloudWatch 中。 我尝试了所有 logback.xml 配置,但它不起作用。

是否有任何自定义编码器 java 类将异常的所有堆栈跟踪附加到一行中,以便于追溯

【问题讨论】:

  • 您是否使用任何编排服务? EKS/ECS?
  • 我正在使用 EKS。

标签: java exception logback amazon-cloudwatch


【解决方案1】:

当使用 throwable 出现异常时,用分隔符将单行换行

<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %m %throwable{separator(|)} %n"/>

【讨论】:

    【解决方案2】:

    日志可以以 json 格式发送到cloudwatch which has good support for filtering and matching json logs

    尝试将 logstash-logback-encoder 添加到您的依赖项并配置 logback.xml 以使用 LogstashEncoder

    例子:

    https://stackoverflow.com/a/68832699/1211547 https://www.innoq.com/en/blog/structured-logging/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多