Spring Boot没有强制性的日志记录依赖项,除了commons-logging API,其中有许多实现可供选择。要使用 Logback,您需要包含它,并在类路径上包含一些用于共享资源日志记录的绑定。最简单的方法是通过启动器poms,这完全取决于弹簧 - 启动器 - 日志记录。对于Web应用程序,您只需要spring-boot-starter-web,因为它完全依赖于日志记录启动器。例如,使用 Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Spring Boot 有一个 LoggingSystem 抽象,它尝试根据类路径的内容配置日志记录。如果日志备份可用,则它是首选。
Spring Boot 还支持 Log4j 或 Log4j 2 进行日志记录配置,但前提是其中一个位于类路径上。如果您使用初学者pom来组装依赖项,这意味着您必须排除Logback,然后包括您选择的Log4j版本。如果您没有使用入门poms,那么除了您选择的Log4j版本之外,您还需要提供commons-loging(至少)。
最简单的路径可能是通过初学者poms,即使它需要一些带有排除的抖动,例如在Maven中:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
要使用Log4j 2,只需依靠spring-boot-starter-log4j2而不是spring-boot-starter-log4j。