Colors 如何在intelliJ中为控制台上的Log4j2输出着色?

Colors 如何在intelliJ中为控制台上的Log4j2输出着色?,colors,log4j2,Colors,Log4j2,我试图将配置文件更改为如下所示,但输出仍然是纯白色的。我怎样才能把它换成任何颜色?喜欢每个级别的不同颜色 代码: import org.apache.log4j.*; 公营创业{ 私有静态最终记录器Logger=Logger.getLogger(Class.Class.getName()); 公共静态void main(字符串[]args)引发异常{ trace(“跟踪消息!”); debug(“调试消息!”); LOGGER.info(“信息消息!”); LOGGER.warn(“警告消息!”

我试图将配置文件更改为如下所示,但输出仍然是纯白色的。我怎样才能把它换成任何颜色?喜欢每个级别的不同颜色

代码:

import org.apache.log4j.*;
公营创业{
私有静态最终记录器Logger=Logger.getLogger(Class.Class.getName());
公共静态void main(字符串[]args)引发异常{
trace(“跟踪消息!”);
debug(“调试消息!”);
LOGGER.info(“信息消息!”);
LOGGER.warn(“警告消息!”);
LOGGER.error(“错误消息!”);
LOGGER.fatal(“致命消息!”);
配置文件(log4j2.xml):


使用log4j2的稳定版本2.9.1,并将记录器初始化替换为

专用静态最终记录器= LogManager.getLogger(Class.Class.getName())

有关突出显示控制台附加程序的其他文档:

在2.10.0中似乎有一些默认设置被打破。通过添加
disableAnsi
选项,我可以在上一版本中恢复颜色

<PatternLayout pattern="%highlight{...}" disableAnsi="false"/>


在文档中,据说默认为
false
,但事实似乎并非如此。

我将尝试积累解决此问题的方法,如果我重复,我深表歉意。 应如何在控制台中启用日志的颜色(仅对2.10版本的lo4j2有效,因为jansi在默认情况下已被禁用)

1) 添加jansi依赖项:

<dependency>
  <groupId>org.fusesource.jansi</groupId>
  <artifactId>jansi</artifactId>
  <version>1.16</version>
</dependency>

对于IntelliJ,我可以强烈推荐

它可以在不更改源代码的情况下解析控制台输出的日志等内容


你读过我的配置文件吗?它是你提到的问题的复制粘贴,但格式不同。是的。让我在我的intellij实例上验证你的配置。你的log4j2配置是正确的。它适用于log4j2 2.9.1版本,而不适用于log4j2 2.10.1版本。哦,我实际上使用的是2.10.1,我会降级的到12.9谢谢:)查看更高投票率的答案,比降级更好Log4j 2.10中的默认值已更改,因为jansi中的本机代码导致一些用户出现问题。文档本应已更新,但可能遗漏了一些位置。您是否可以在Log4j2问题跟踪程序上提出问题单以修复文档?拉取请求将为b更可怕的是,这是正确的答案。在将disableAnsi改为“false”后我的颜色又开始出现了。可能其他人遇到的问题是因为他们试图将颜色模式写入日志文件?这种颜色仅在控制台/终端中有效。您应该只配置常规日志,而不将颜色添加到日志文件中,并在生产中使用Splunk等工具。为什么它会在控制台中打印disableAnsi=false?您可能将其保留在模式中,在引号之间。它是一个xml参数。
Configuration:
  Appenders:
    Console:
      PatternLayout:
        pattern: '%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight{%-5level}{STYLE=Logback} %logger.%M - %msg%n'