当我使用Spring创建bean和其他东西时,spring正在使用他的apache commons日志记录(我猜)来打印信息。
我希望此信息采用不同的颜色。只有我的错误应该是红色的,但这样的信息应该是绿色的。所以我听说只有使用不同的记录器才能配置此功能,您可以在其中添加自己的配置文件,例如 log4j2。我尝试使用以下代码告诉 log4j2 记录 spring 消息,但没有成功
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="MyFile" fileName="all.log" immediateFlush="false" append="false">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console" />
<AppenderRef ref="MyFile"/>
</Root>
<logger name="org.springframework.beans">
<appender-ref ref="Console" />
</logger>
</Loggers>
</Configuration>
由于输出是相同的,我猜 spring 没有使用 log4j2。你看到的第一行是我自己打印的
log.info("spring1-属性初始化");
有没有办法用log4j2完整记录日志?最后,我只是想改变这些颜色,所以也许还有一种不使用 log4j 的更简单的方法?
编辑:我正在使用 Spring boot,并且自己没有配置任何与 spring 有关的内容。
最佳答案
你可以
- 设置您的项目以使用 slf4j + log4j2
- 从 spring 依赖项和其他依赖项中排除 commons-logging
- 向项目添加 jcl-over-slf4j 依赖项
这将使 Spring 通过指向 slf4j、指向 log4j2 的 commons-logging 实现来工作。
关于java - 如何告诉spring使用log4j2打印日志消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35945975/