如何使用log4j2高亮图案以彩色打印日志?

mad*_*dhu 5 java configuration logging log4j2

我是log4j2的新手,我想以不同的颜色打印不同级别的日志。我正在使用eclipse ide开发Java,而log4j2则用于应用程序日志记录。这是我的log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Appenders>
   <Console name="STDOUT" target="SYSTEM_OUT">
     <PatternLayout pattern="%highlight{%d{HH:mm:ss.SSS} %-5level %logger{36}.%M() @%L - %msg%n}{FATAL=red, ERROR=red, WARN=yellow, INFO=black, DEBUG=green, TRACE=blue}"/>
   </Console>
  </Appenders>
   <loggers>
  <Logger name="org.apache.log4j.xml" level="all"/>
    <root level="all">
      <appender-ref ref="STDOUT"/>
    </root>
  </loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)

当我执行log4j2示例时,我在eclipse控制台中得到以下结果。

[32m15:56:30.536 DEBUG com.syn.test.Test.main() @15 - this is debug message
[m[32m15:56:30.539 DEBUG com.syn.test.Test.main() @19 - this is debug messge 
[m
Run Code Online (Sandbox Code Playgroud)

现在我的问题是如何在Eclipse控制台中以不同的颜色为不同级别打印日志。

jha*_*has 5

Eclipse 市场中的 ANSI Console 插件可以完成这项工作。它工作得很好,你可以在 Windows 和 Unix 上看到彩色日志


Rem*_*pma 3

突出显示和颜色语法适用于大多数UnixMac终端,但显然不适用于Windows DOS控制台(根据this)。

不幸的是,我非常怀疑Eclipse控制台是否支持带有转义码的突出显示和颜色ANSI

更新: Windows可以使用Jansi.