先贴一份简单的log4j2配置:
status=error
dest=err
name=PropertiesConfig
appender.console.type=Console
appender.console.name=STDOUT
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%highlight{%d [%-5p]} [%c:%L] %highlight{%m%n}
rootLogger.level=all
rootLogger.appenderRef.stdout.ref=STDOUT
使用%highlight{}即可打印出彩色日志,但是自log4j 2.10版本以后该功能默认是关闭的,所以要给它打开。
在 VM options 中添加 -Dlog4j.skipJansi = false即可。
详见官方文档:https://logging.apache.org/log4j/2.x/manual/layouts.html#enable-jansi
具体使用方法和默认值在 https://logging.apache.org/log4j/2.x/manual/layouts.html 中搜索 highlight 即可。
如果要在独立控制台中启用彩色日志,即使用java -jar的方式也是可以的,只需要加入jansi包。
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>1.18</version>
</dependency>
然后使用 java -Dlog4j.skipJansi=false -jar xxxx.jar 启动即可。