Spring Boot学习笔记(十七) -日志管理

  Spring Boot 默认使用 Logback 组件作为日志管理。Logback 是由 log4j 创始人设计的一个开源日志组件。
  在 Spring Boot 项目中我们不需要额外的添加 Logback 的依赖,因为 spring-boot-starter 或者 spring-boot-starter-web 中已经包含了 Logback 的依赖。

1、Logback 读取配置文件

  • 在 classpath 下查找文件 logback-test.xml
  • 如果文件不存在,则查找 logback.xml
  • 如果两个文件都不存在,LogBack 用 BasicConfiguration 自动对自己进行最小化配置,这样既实现了上面我们不需要添加任何配置就可以输出到控制台日志信息。
    Spring Boot学习笔记(十七) -日志管理_第1张图片

2、添加 Logback 配置文件


<configuration>

    <property name="LOG_HOME" value="${catalina.base}/logs"/>
    
    <appender name="CONSOLE-LOG" class="ch.qos.logback.core.ConsoleAppender">
        
        <layout class="ch.qos.logback.classic.PatternLayout">
            
            <pattern>[%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%C] [%t] [%L] [%-5p] %m%npattern>
        layout>
    appender>
    
    <appender name="INFO-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>[%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%C] [%t] [%L] [%-5p] %m%npattern>
        layout>
        
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            <fileNamePattern>${LOG_HOME}/%d.logfileNamePattern>
            
            <maxHistory>30maxHistory>
        rollingPolicy>
    appender>
    
    <root level="info">
        <appender-ref ref="CONSOLE-LOG" />
        <appender-ref ref="INFO-LOG" />
    root>
configuration>

3、在代码中使用Logback

@Controller
@RequestMapping("/logback")
public class HelloController {
    private final static Logger logger = LoggerFactory.getLogger(HelloController.class);
    @RequestMapping("showInfo")
    public String showInfo(){
        logger.info("记录日志");
        return "Hello Logback";
    }
}

4、在配置文件中屏蔽指定包的

在logging.level后面加上要屏蔽的包名。

logging.level.com.xiezhenyu=off

你可能感兴趣的:(Spring)