日志记录

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

将Log4j 2.x或Logback(或其他SLF4J提供者)放入类路径中,无需任何额外的桥接,让框架自动适应您的选择。更多信息请参阅Spring Boot日志记录参考文档

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

对于应用程序代码中的日志记录需求,请优先使用Log4j 2.x、SLF4J或JUL。

可以通过org.apache.commons.logging.LogFactory获取Log实现,如以下示例所示。

  • Java

  • Kotlin

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