log4j2配置

9fkzdhlc  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(277)

我使用的是Java11,SpringBoot2.4.1,IntellijIdeaCommunityEdition 2019.2。我正在使用log4j2并尝试从log4j2.xml配置文件更改控制台中日志级别的颜色。如果我从publicstaticvoidmain(string[]args)运行我的应用程序,那么我就成功了,但是如果我从终端运行我的应用程序时带有:“mvnspring”-boot:run,那么它就不起作用了。
我的log4j2.xml:

<Configuration strict="true">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{DEFAULT} %highlight{%-5p}{DEBUG=blue,INFO=black,WARN=yellow} [%c{1}.%M():%L %t] [${bundle:application:spring.application.name}] %m%n"
                    disableAnsi="false" charset="UTF-8"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="Console"/>
        </Root>
        <Logger name="com.example" level="TRACE" includeLocation="true" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
        <Logger name="org.hibernate" level="ERROR" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
        <Logger name="org.hibernate.SQL" level="ERROR" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
        <Logger name="org.springframework" level="INFO" includeLocation="true" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
    </Loggers>
</Configuration>

如果我用publicstaticvoidmain(string[]args)运行,我有调试日志,debug这个词的颜色是蓝色:
2021-03-08 19:04:56357调试[myapplication.logstarting():56 main][my app name]使用spring boot v2.4.1和spring v5.3.2运行
如果我在终端运行'mvn spring-boot:run,没有颜色,日志错误:
2021-03-08 19:15:16,450 ←[34M电子包←[m[myapplication.logstarting():56 main][my app name]使用spring boot v2.4.1、spring v5.3.2运行
我该怎么修?如果您需要任何澄清,请让我知道,提前谢谢您!

编辑:

项目结构(这是我的sanbox应用程序,我在那里训练不同的东西)。您还可以在这里看到如何将log4j2连接到pom.xml中的项目:在这里输入图像描述
pom.xml中的my build部分:在此处输入图像描述
日志,如果运行publicstaticvoidmain:在此处输入图像描述
日志,如果运行“mvn spring”-boot:run'(2张图片):在此处输入图像描述|在此处输入图像描述
我尝试使用另一种颜色为'%-5p'的方法:
图案: <PatternLayout pattern="%d{DEFAULT} %clr{%-5p}{magenta} [%c{1}.%M():%L %t] [${bundle:application:spring.application.name}] %m%n" charset="UTF-8"/> 添加到application.properties: spring.output.ansi.enabled=ALWAYS 但它仍然只适用于从“main”运行,而不适用于终端。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题