Spring整合LogBack

在Sping整合LogBack过程中,发现logback不能操作Spring本身的日志。

对整个过程做了分析,发现Spring使用apache的common-log作为日志的入口,而不是使用SLF4j。

common-log的LogFactory 内部装载日志系统流程:

首先,寻找org.apache.commons.logging.LogFactory 属性配置
否则,利用JDK1.3 开始提供的service 发现机制,会扫描classpah 下的META-INF/services/org.apache.commons.logging.LogFactory 文件,若找到则装载里面的配置,使用里面的配置。
否则,从Classpath 里寻找commons-logging.properties ,找到则根据里面的配置加载。
否则,使用默认的配置:如果能找到Log4j 则默认使用log4j 实现,如果没有则使用JDK14Logger 实现,再没有则使用commons-logging 内部提供的SimpleLog 实现。

最简单的解决方式:
引入jcl-over-slf4j的依赖。

提供一个解决时用的Maven坐标:

<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.4</version>
</dependency>

你可能感兴趣的:(spring,common-log,loaback)