9、SpringBoot_日志使用

三、日志

1.日志的使用

使用

@RestController
public class LogController {

    public static final Logger log = LoggerFactory.getLogger(LogController.class);

    @GetMapping("/index")
    public String index(){
        log.info("请求info 信息");
        log.debug("请求debug 信息");
        log.warn("请求warn 信息");
        log.error("请求错误信息");

        return "OK";
    }

}
  • 日志级别

    • FATAL 灾难信息
    • ERROR 错误
    • WARN 警告
    • INFO 运维过程信息
    • DEBUG 调试信息
    • TRACE 堆栈信息
  • 一般的使用

    • INFO
    • DEBUG
  • 设置日志的级别

    logging:
      level:
        root: info
    
  • 注意:打印的内容越多,级别也就越低

  • 设置组

    logging:
    #  设置组
      group:
        controller: cn.sycoder.springbootlog.controller
      level:
        root: info
    #    cn.sycoder.springbootlog.controller: warn
        controller: warn
    

    2.使用lombok简化日志操作

  • 导入依赖

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    
  • 使用

    @Slf4j
    @RestController
    public class LogController {
    
        @GetMapping("/index")
        public String index(){
            log.info("请求info 信息");
            log.debug("请求debug 信息");
            log.warn("请求warn 信息");
            log.error("请求错误信息");
    
            return "OK";
        }
    }
    
  • 底层反编译

    9、SpringBoot_日志使用_第1张图片

2.使用lombok简化日志操作

  • 导入依赖

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    
  • 使用

    @Slf4j
    @RestController
    public class LogController {
    
        @GetMapping("/index")
        public String index(){
            log.info("请求info 信息");
            log.debug("请求debug 信息");
            log.warn("请求warn 信息");
            log.error("请求错误信息");
    
            return "OK";
        }
    }
    
  • 底层反编译

    9、SpringBoot_日志使用_第2张图片

3.日志输出格式

  • 图示

    9、SpringBoot_日志使用_第3张图片

  • 模仿springboot 写一下日志文件

    logging:
      pattern:
        console: "%d %clr(%-5p){yellow} %clr(${pid}){magenta} ---[%20t] %-40.40c : %m %n"
    

    4.输出日志到文件

  • 背景:项目持续跑,日志文件会越来越大。

4.1指定路径输出

  • 指定路径

    logging:
      file:
        path: F:\03-Spring\SpringBoot\homework\springboot-log
    

4.2指定名称输出

  • 指定名称

    logging:
      file:
        name: F:\03-Spring\SpringBoot\homework\springboot-log\sy.log
    
  • 注意:指定名称输出的优先级会更高

4.3拆分日志文件

  • 注意版本信息,如果版本太低的时候不支持 logback

  • 按照日期的格式拆分

    • sy2023-01-10-1.log
    • sy2023-01-10-2.log
  • 拆分日志文件

    logdir: F:\03-Spring\SpringBoot\homework\springboot-log\
    logging:
      logback:
        rollingpolicy:
          max-file-size: 2KB
          file-name-pattern: ${logdir}sy-%d{yyyy-MM-dd}-%i.log
      file:
        name: ${logdir}sy.log
    

你可能感兴趣的:(spring,boot,java,后端,spring,log4j)