运维实用篇——日志操作

日志操作

  • 日志基础
    • 启用日志
    • 日志级别
  • 快速创建日志对象
    • 第一种,自定义
    • LomBok注解自动加入
  • 日志输出格式控制
  • 记录日志文件

日志基础

  • 日志作用
    编程期调试代码
    运营期间记录信息
    • 记录日常运营重要信息
    • 记录应用报错信息
    • 记录运维过程数据

启用日志

@RestController
@RequestMapping("/books")
public class BookController {
    // 创建记录日志的对象
    private static final Logger log = LoggerFactory.getLogger(BookController.class);


    @GetMapping
    public String getById() {
        System.out.println("手工创建方式......");

        log.info("info...");
        log.warn("warn...");
        log.error("error...");
        log.debug("debug...");

        return "手工创建方式......";
    }
}
  • 配置文件,设置日志级别(root所有的包里面都打出来)
# debug: true # 只打印boot相关的日志
logging:
  level:
    root: debug

日志级别

  • TRACE: 运行堆栈信息,使用率低
  • DEBUG: 程序员调试代码使用
  • INFO:记录运维过程数据
  • WARN:记录运维过程报警数据
  • ERROR:记录错误堆栈信息
  • FATAL:记录灾难信息,合并计入ERROR
# debug: true
logging:
  # 设置分组,对某个组设置级别
  group:
    ebank: com.ssc.controller,com.ssc.service,com.ssc.dao
    iservice: com.ssc
  level:
    root: info
    # 对某个组日志级别进行设置
    eabnk: warn
    iservice: debug
    # 设置单个包
    com.ssc.controller: debug

快速创建日志对象

第一种,自定义

运维实用篇——日志操作_第1张图片

public class BaseLogClass {

    private static  Class clazz;
    public static  Logger log;

    public BaseLogClass(){
        clazz = this.getClass();
        log = LoggerFactory.getLogger(clazz);
    }
}

LomBok注解自动加入

  • @Slf4j是LomBok为我们添加的一个日志注解,建议在所有的功能类里面都加入该注解
@Slf4j
@RestController
@RequestMapping("/books")
public class BookController{

    @GetMapping
    public String getById() {
        System.out.println("手工创建方式......");

        log.info("info...");
        log.warn("warn...");
        log.error("error...");
        log.debug("debug...");

        return "手工创建方式......";
    }
}

日志输出格式控制

运维实用篇——日志操作_第2张图片

  • 格式占位符
logging:
  # 设置日志格式
  pattern:
    console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"

记录日志文件

  • 可以设置单个日志文件,和多个日志文件,多个日志文件需要设置文件大小和文件名字规则
logging:
  # 记录日志文件
  file:
    name: server.log
  # 记录日志的最大,满了之后就换
  logback:
    rollingpolicy:
      file-name-pattern: server.%d{yyyy-MM-dd}.%i.log
      max-file-size: 4KB

你可能感兴趣的:(Spring-Boot,运维,java,数据库)