【发布时间】:2021-01-01 18:15:50
【问题描述】:
与 CMD 和 PowerShell 不同,新的 Windows Terminal 支持开箱即用的 ANSI 颜色。快速测试程序可以确认一切正常:
public class Color {
public static void main(String[] args) {
System.out.println("\u001b[32mHello, World\n\u001b[0m");
}
}
不过,Log4j2 似乎并没有意识到这一点。我的 PatternLayout 中有这个序列:
%highlight{%-5level}{FATAL=bg_red white, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue}
这适用于 macOS 和 Linux,但不适用于 Windows。查看docs,我有disableAnsi 和noConsoleNoAnsi,但默认值似乎是我想要的,显式设置它们没有任何效果。
我确实确保在我的项目中包含了 JANSI,尽管我认为它没有必要,但它也没有任何区别。
为了让颜色发挥作用,我缺少什么选项?
【问题讨论】:
标签: java log4j ansi-colors