直接Spring DEBUG登录到控制台

时间:2017-04-22 13:48:09

标签: spring slf4j log4j2

我有一个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没有将详细的调试行记录到控制台?

1 个答案:

答案 0 :(得分:0)

如果能帮助其他人,请找到它。缺少这种依赖性:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-jcl</artifactId>
    <version>2.1</version>
 </dependency>

因此日志记录看起来像它的工作,但Spring记录不是。