【SpringBoot】spring.output.ansi.enabled引起日志出现ESC[开头颜色日志

本文描述了在线上环境中遇到的ASNI编码日志问题,当使用less或more命令查看日志时,日志内容混乱,导致Kibana查询效率大幅下降。问题根源在于SpringBoot项目的logback配置中启用了ASNI颜色输出,移除该配置后问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日突然发现线上日志,通过linux less命令日志都乱了,这就导致kibana收集的日志无法分割都汇聚成一条记录了,直接导致kibana查询平台该索引下日志搜索极具缓慢。

故障现象

通过less 或 more命令查看日志结果如下图所示:
在这里插入图片描述

但是使用cat 或者 tail命令看到日志就是正常的,如下图:
在这里插入图片描述

问题很诡异,直接想到应该是logback配置问题,带着疑问,通过百度查询发现,如果基于SpringBoot项目通过ASNI打印ga日志,是高亮颜色以 \033[开头的,如下图:
在这里插入图片描述

这时候突然想到application.properties配置文件新增了一段配置

#控制台彩色输出
spring.output.ansi.enabled=ALWAYS

就这样,据此推理应该是其作用所致,把配置去掉,重新发布开发环境,通过less查看日志文件,不再有此情况。

排查结论

这么来说,ASNI编码日志会导致通过less或more命令查看日志文件出现ECS开头无法分割情况,因为logback实现ASNI彩色日志是以\033[开头 (ECS_START)。

【参考文章】:https://blog.youkuaiyun.com/u012693119/article/details/79716306

下面的是我的公众号二维码图片,欢迎关注。
秋夜无霜

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值