日志基础
日志的作用
1.编程期间调试代码
2.运营期记录信息
1)记录日常运营的重要信息(峰值流量,平均响应时常。。。)
2)记录应用报错信息
3)记录运维过程数据(扩容,报警。。。。。)
日志的使用
1.创建记录日志的对象
private static final Logger log = LoggerFactory.getLogger(StudentController.class);
注意不要引错包了
2使用lombok 提供的 @Slf4j简化开发,减少日志对象的声明操作
日志的级别
日志等级可以分为5个,从低到高分别是:
- DEBUG
- INFO
- WARNING
- ERROR
- CRITICAL
日志等级说明:
DEBUG:程序调试bug时使用
INFO:程序正常运行时使用
WARNING:程序未按预期运行时使用,但并不是错误,如:用户登录密码错误
ERROR:程序出错误时使用,如:IO操作失败
CRITICAL:特别严重的问题,导致程序不能再继续运行时使用,如:磁盘空间为空,一般很少使 用
默认的是WARNING等级,当在WARNING或WARNING之上等级的才记录日志信息。
日志等级从低到高的顺序是: DEBUG < INFO < WARNING < ERROR < CRITICAL
日志控制
日志只会显示等级大于等于当前级别的日志信息
在Springboot启动时默认使用的时INFO级别的日志,所以并不会显示DEBUG级别的日志
调低级别的方式
1 方式一 直接在Springboot配置文件中设置 debug : true 则开启DEBUG级别
2.方式二
这样即可设置根路径下日志级别为debug
设置某个包的日志级别
这个带表整个项目是debug级别的日志 这个包下是info级别的日志 但这样设置特别麻烦所以可以设置分组
设置分组给每一组设置不同的日志级别
小结
1.日志用于记录开发调试与运维过程消息
2.日志的级别通常使用的是四种 分别是DEBUG INFO WARN ERROR
3.可以通过日志组或代码包的形式进行日志级别的控制
日志输出格式控制
日志默认格式
PID : 进程ID,用于表明当前操作所处线程,当多服务同时记录日志时,该值可用于协助程序员调试程序
所属类/接口名 : 当前显示信息为Springboot重写后的信息,名称过长时,简化包名书写为首字母,甚至直接删除
设置日志输出格式
其中%d 为日期
%m为消息
%n为换行
%p 级别
%t 为线程名 %16t 则线程名占16位
%clr 是添加颜色
例如 %clr(%m) 则日志消息带有颜色
记录日志到文件
默认记录到你当前项目下的文件中