在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-slf