我正在使用Log4J 2.0和IntelliJ,当我在IDE中调试时,我已经在log4j2.xml文件中激活了ANSI着色选项以及用于IntelliJ的Grep Console插件。这大大改善了日志的读取,因为我现在可以按颜色区分不同的日志级别。
我知道可以更改不同日志级别的日志样式,例如
%highlight{...}{TRACE=red}
这很好但现在我的堆栈跟踪都是用白色而不是红色打印的。我尝试使用以下规则更改样式但没有成功:
<PatternLayout pattern="... %style{%exception}{Bright,Red}"
这是我完整的模式布局:
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %highlight{%-5p %c{1} - %m%n}{TRACE=white} %style{%exception}{Bright,Red}"/>
看起来异常不是通过log4j打印,而是直接打印到系统输出。但仍然会根据图案布局中是否存在%highlight
来影响着色。