You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3.4内置结构化日志+Logstash:无额外依赖缩减异常行长度?

Spring Boot 3.4 内置结构化日志结合Logstash缩减异常日志行方案

可以实现,而且完全不需要额外添加依赖,Spring Boot 3.4已经内置了替代原有ShortenedThrowableConverter的能力,具体配置方式如下:

  • 直接使用Spring Boot自带的异常栈转换器org.springframework.boot.logging.logback.converter.ShortenedThrowableConverter,它和你之前用的Logstash转换器功能一致,支持设置日志长度上限等参数。
  • 在Logback的配置文件(如logback-spring.xml)中,针对Logstash的JSON输出编码器配置该转换器:
<appender name="LOGSTASH" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
        <providers>
            <!-- 其他结构化日志字段配置 -->
            <timestamp/>
            <level/>
            <message/>
            <loggerName/>
            <!-- 异常栈处理配置 -->
            <throwable>
                <converter class="org.springframework.boot.logging.logback.converter.ShortenedThrowableConverter">
                    <maxLength>10000</maxLength>
                    <!-- 可选:添加其他精简配置,比如缩短类名长度、排除特定包栈帧 -->
                    <!-- <shortenedClassNameLength>20</shortenedClassNameLength> -->
                    <!-- <excludePackages>com.example</excludePackages> -->
                </converter>
            </throwable>
        </providers>
    </encoder>
</appender>

说明:

  • Spring Boot 3.4已将logstash-logback-encoder整合到spring-boot-starter-logging依赖中,无需单独引入;
  • 内置转换器支持所有你之前用到的参数,还可根据需求添加自定义配置进一步精简异常日志内容。

内容的提问来源于stack exchange,提问作者Vegard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 13:32:10