我是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>
当我执行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
现在我的问题是如何在eclipse控制台中为不同级别打印不同颜色的日志。
答案 0 :(得分:3)
高亮和颜色语法适用于大多数unix和mac终端,但显然不在Windows DOS控制台中(根据http://en.wikipedia.org/wiki/ANSI_escape_code)。
不幸的是,我非常怀疑Eclipse控制台支持使用ANSI转义码突出显示颜色。
更新: Jansi可以支持Windows颜色: http://jansi.fusesource.org/
答案 1 :(得分:2)
Eclipse市场的ANSI控制台插件完成了这项工作。 它工作得很好,你可以在Windows和Windows上看到颜色的日志。 Unix的
答案 2 :(得分:0)
我使用IntelliJ IDEA
在jcabi-log
上取得了成功。
Maven
依赖项:
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-log</artifactId>
<version>LATEST</version>
</dependency>
示例PatternLayout
:
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue}] [%t]: %logger{36}.%M@L%L - %msg%n" disableAnsi="false"/>
保留disableAnsi="false"
属性以使颜色起作用很重要。