从 Spring Framework 5.0 开始,Spring 自带了自己的 Commons Logging 桥接 在模块中。实现检查是否存在 Log4j 2.x API 和 SLF4J 1.7 API 在类路径中,并使用第一个找到的 日志实现,回退到 Java 平台的核心日志记录工具(也 如果 Log4j 2.x 和 SLF4J 都不可用,则称为 JUL 或 )。spring-jcljava.util.logging

将 Log4j 2.x 或 Logback(或其他 SLF4J 提供程序)放在您的类路径中,无需任何额外的内容 桥接,让框架自动适应您的选择。有关更多信息,请参阅春季 启动日志记录参考文档

Spring 的 Commons Logging 变体仅用于基础架构日志记录 核心框架和扩展中的目的。

对于应用程序代码中的日志记录需求,最好直接使用 Log4j 2.x、SLF4J 或 JUL。

可以通过如下方式检索实现 以下示例。Logorg.apache.commons.logging.LogFactory

  • Java

  • Kotlin

public class MyBean {
	private final Log log = LogFactory.getLog(getClass());
    // ...
}
class MyBean {
  private val log = LogFactory.getLog(javaClass)
  // ...
}