我有一个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没有将详细的调试行记录到控制台?
答案 0 :(得分:0)
如果能帮助其他人,请找到它。缺少这种依赖性:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.1</version>
</dependency>
因此日志记录看起来像它的工作,但Spring记录不是。