IntelliJ IDEA 控制台颜色消失问题及解决方案
问题描述
Log4j 2 在 IntelliJ IDEA 控制台可能导致日志颜色丢失,原因包括:
- 默认未启用 ANSI 颜色支持。
- IDEA 未开启 ANSI 解析。
- 缺少 Jansi 库(Windows)。
- 依赖冲突。
解决方案
-
启用颜色支持:
xml<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %highlight{%-5p}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue, TRACE=cyan} %c{1}:%L - %m%n"/>
-
添加 Jansi 依赖(Windows):
xml<dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>2.4.0</version> </dependency>
-
启用 IDEA ANSI 支持:
File > Settings > Editor > Console Colors
,勾选Use console ANSI colors
.
-
检查依赖冲突:
- 使用
mvn dependency:tree
排除 Log4j 1.x 或其他框架冲突。
- 使用
-
设置系统属性:
-
Log4j2 JVM 参数:
-Dlog4j2.enableJansi=true
。 -
Log4j JVM 参数:
-Dlog4j.skipJansi=false
-
-
验证:
- 检查颜色输出,启用
status="debug"
排查问题。
- 检查颜色输出,启用
使用插件
Grep Console Plugin for JetBrains IDEs | JetBrains Marketplace
