如何在Spring Boot项目中设置日志的输出颜色
log4j2.properties日志高亮不生效解决方案
现有配置错误点
你当前配置存在两个语法错误,直接导致高亮规则不生效:
TRACE= White中颜色值White首字母大写不符合log4j2规则,需要改为小写white,且等号后多余空格需要删除- 未显式指定布局类型为
PatternLayout,%highlight是PatternLayout的专属语法,漏配该参数会导致占位符无法被解析
前置依赖检查
- Windows环境运行必须引入Jansi依赖处理ANSI转义,Maven配置如下:
<dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>2.4.0</version> </dependency>
- Windows环境还需添加启动参数
-Dlog4j.skipJansi=false开启ANSI支持 - 开发工具(如IDEA)中运行需开启控制台ANSI彩色输出:设置 > 编辑器 > 控制台 > 勾选「ANSI 颜色输出」
修正后的完整配置片段
appender.console.type = Console appender.console.name = STDOUT appender.console.target = SYSTEM_OUT appender.console.layout.type = PatternLayout appender.console.layout.pattern = %highlight{%d{yyyy-MM-dd}T%d{HH:mm:ss,SSS} %-5level [%tid] [%l] : %msg%n%throwable}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=gray, TRACE=white, noConsoleNoAnsi=false}
其他排查项
- 确认运行终端支持ANSI转义,Windows旧版CMD默认不支持,建议替换为Windows Terminal
- 排查是否存在全局配置、启动参数覆盖当前的日志格式配置
- 确认log4j2版本在2.10及以上,低版本对%highlight语法的兼容性存在缺陷
内容的提问来源于stack exchange,提问作者Emiliano Mercado
相关产品推荐
相关产品推荐

