【发布时间】:2017-04-22 13:48:08
【问题描述】:
我有一个 Maven 项目,我想将 DEBUG Spring 日志记录定向到控制台。
我的日志接口是 slf4j,我正在绑定到 Log4j2。
在我的 pom.xml 中,我已经排除了 commons-logging 或 Slf4j:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
我相信 slf4j 连接正确,因为我的 log4j2.xml 中有这个:
<Logger name="com.myApp" level="info" additivity="false">
<AppenderRef ref="Console" />
</Logger>
这在我的测试类构造函数中:
logger.info("constructor");
logger.debug("constructor");
如果我从 info/debug 翻转 log4j2.xml 中的日志级别,我会在控制台中获得一两条日志行。
我的 log4j2.xml 中也有这个:
<Logger name="org.springframework" level="all" additivity="false">
<AppenderRef ref="Console" />
</Logger>
但它的效果为零。我错过了什么?为什么 Spring 不将详细的调试行记录到控制台?
【问题讨论】: