我使用的是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”运行,而不适用于终端。
暂无答案!
目前还没有任何答案,快来回答吧!