73. 日志

Spring Boot除了commons-loggingAPI外没有其他强制性的日志依赖,你有很多可选的日志实现。想要使用Logback,你需要包含它及jcl-over-slf4j(它实现了Commons Logging API)。最简单的方式是通过依赖spring-boot-starter-logging的starters。对于一个web应用程序,你只需添加spring-boot-starter-web依赖,因为它依赖于logging starter。例如,使用Maven:

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. </dependency>

Spring Boot有一个LoggingSystem抽象,用于尝试通过classpath上下文配置日志系统。如果Logback可用,则首选它。如果你唯一需要做的就是设置不同日志级别,那可以通过在application.properties中使用logging.level前缀实现,比如:

  1. logging.level.org.springframework.web=DEBUG
  2. logging.level.org.hibernate=ERROR

你也可以使用logging.file设置日志文件的位置(除控制台之外,默认会输出到控制台)。

想要对日志系统进行更细粒度的配置,你需要使用LoggingSystem支持的原生配置格式。默认情况下,Spring Boot从系统的默认位置加载原生配置(比如对于Logback为classpath:logback.xml),但你可以使用logging.config属性设置配置文件的位置。