我有以下logback.xml file
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<logger name="my.package">
<level value="TRACE"/>
</logger>
<logger name="org.springframework.web">
<level value="DEBUG"/>
</logger>
<root>
<priority value="debug"/>
<appender-ref ref="STDOUT"/>
</root>
当我运行应用程序时,在控制台中我会看到这样调用的消息:
LOGGER.error("error ");
来自my.package
内的班级
我从春天看不到消息。
我错了什么?
答案 0 :(得分:3)
默认情况下,Spring会记录到Apache Commons Logging。将其切换为logback不包括Commons Logging
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.3.RELEASE</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
并将桥接器添加到Logback
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.12</version>
</dependency>
答案 1 :(得分:1)
Spring使用commons-logging
,所以你需要使用jcl-over-slf4j
桥来让spring认为它是使用jcl。
您需要从pom中的spring依赖项中排除commons-logging
,并添加jcl-over-slf4j
。
更多信息:Bridging Legacy APIs