0

我尝试将 log4j 配置为为每种日志类型(信息、错误、调试等)附加不同颜色的日志。这是我的 log4j2.xml:

<Configuration monitorInterval="60">
        <Properties>
            <Property name="log-path">applogs</Property>
        </Properties>
        <Appenders>
            <Console name="Console-Appender" 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=green}
                    </pattern>
                </PatternLayout>
            </Console>
            <someMoreAppenders>
        </Appenders>
        <Loggers>
            <Logger name="RepositoriesController" level="info" additivity="false">
                <AppenderRef ref="Console-Appender"/>
            </Logger>
            <Root level="error" additivity="false">
                <AppenderRef ref="Console-Appender"/>
            </Root>
        </Loggers>
    </Configuration>

在 RepositoriesController 类中,我以这种方式创建记录器:

    private static final Logger logger = LogManager.getLogger("RepositoriesController");
   logger.info("Hello, World!");

我的 log4j.properties 是空的。输出似乎是我的模式使用的格式,但字体颜色仍然是白色:

Intelij 控制台

我尝试添加此属性: spring.main.banner-mode=off spring.output.ansi.enabled=ALWAYS 并修改模式但没有成功,有什么建议吗?

4

1 回答 1

1
<Console name="Console" target="SYSTEM_OUT">
    <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] 
      %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue} - %msg%n" />
</Console>

%highlight{%level}- 使用它您可以突出显示不同级别日志的颜色。

这将生成输出为:

在此处输入图像描述

于 2018-05-18T09:51:45.087 回答