SpringBoot项目日志配置

Scroll Down

最近,因为给一个轻型项目添加了很多接口,以至于需要添加日志。 大家都知道,Spring Boot优先使用logback*(log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境)*来实现日志功能。

  1. 使用logback日志 默认在application.properties或application.yml中加入配置,即可简单使用 当然默认日志级别是INFO的,你可以再配置中继续加入如下代码来更改日志级别
logging.file=./springboot.log
logging.level.org.springframework.web=INFO

如你想通过logback实现更复杂的日志配置,请使用logback-spring.xml来做相应配置。示例代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="TRACE" />
<!-- 测试环境+开发环境. 多个使用逗号隔开. -->
<springProfile name="test,dev">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO" />
<logger name="cn.farboy" level="info" />
</springProfile>
<!-- 生产环境. -->
<springProfile name="prod">
<logger name="org.springframework.web" level="ERROR"/>
<logger name="org.springboot.sample" level="ERROR" />
<logger name="cn.farboy" level="ERROR" />
</springProfile>
</configuration>
  1. 使用log4j日志 虽然现在log4j有很多诸如性能和功能的不足,但是这是我们使用的最熟悉的日志框架了,所以这里也说说如何在Spring Boot项目中加入log4j来使用它。 首先在pom中排除Spring Boot默认的日志框架logback:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

其次在pom中加入log4j依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

最后,在resource中加入log4j.properties配置文件即可,命名上如果遵守Spring Boot建议命名方式,可以为"log4j-spring.properties"。

通过以上配置,即可在代码中愉快地使用日志了。