日志基础
日志
在企业级开发中还是比较重要的
我们来写一个日志
@RestController
@RequestMapping("/books")
public class Controller {//创建记录日志的对象private static final Logger log= LoggerFactory.getLogger(Controller.class);@GetMappingpublic String getById(){System.out.println("Springboot is running");log.debug("");//调试log.info("");//运行log.error("");//报错log.warn("");//警告return "Springboot is runnning";}}
我们今后开发都是把写信息到日志里面
而很少采用直接打印输出在控制台的方式
fatal 记录崩溃级别的日志
看不到debug的信息
调试级别
因为debug的级别太低
我们可以开下来
第一种方式
第二种方式
不推荐开下来
因为调成debug级别都是上线后程序员进行调试才会开下来的
我们在以后经常用的一种方式是什么呢?
设置当前根目录下所有日志级别为debug
logging:level:root: debug
这样打印的日志信息就是DEBUG调试级别的
小结
我们会声明一个记日志的对象
我们也可以设置指定包的日志级别
我们可以设置分组
对某个组设置日志,设置日志级别
我们以后开发大部分用分组来固定日志
创建日志对象
书写BaseClass类
package com.bigdata1421.config.controller;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class BaseClass {private Class clazz ;public static Logger log;public BaseClass() {clazz=this.getClass();log=LoggerFactory.getLogger(clazz);}}
放在同级目录下
我们可以在子类中使用lombok的注解去实现
去掉注释
我们就不用写BaseClass类了
简化开发
利用lombok提供的注解简化开发 减少日志对象的声明操作
减少日志对象的声明操作
去掉了注解
日志输出格式控制
然而我们也可以控制日志的输出格式
设置日志模版格式
这些操作以后我们在公司中都不会去用
但是如果以后我们做了领头人
就可以让下面的员工都去这样去做
这边写了一个模版
#设置日志模版格式
pattern:console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"
天下公司一大抄
你抄我我抄你
文件记录日志
我们已经可以控制日志了
接下来我们可以输出打印日志
改天运维问你日志去哪里了
你总不能说日志去了 控制台
然后关掉了
我们要把日志写入文档保存到本地
我们要把日志写入文档保存到本地
我们要把日志写入文档保存到本地
在配置中这样书写就能保存日志
在主文件夹下就能查看到日志文件
我们可以添加其他配置属性设置其他的信息
比如说一天更新一次日志
控制日志的体积
设置最大日志文件的存储大小
logging:level:root: infofile:name: server.loglogback:rollingpolicy:max-file-size: 4KBfile-name-pattern: server.%d{yyyy.MM.dd}.%i.log
这样打印日志就有日期显示
并且会进行备份
你上线后调试程序
都得靠日志文件了
小结