目录
日志级别,从高到低依次为FATAL,ERROR,WARN,INFO,DEBUG,TRACE
什么是日志
日志是程序或系统在运行中产生的文本记录,用于帮助开发者或管理员了解程序或系统的行为,监控运行状态,以及排查错误。日志可以包含各种信息,例如时间戳、错误信息、警告信息、调试信息、用户操作信息等。通过查看日志,开发者或管理员可以了解程序或系统的运行情况,找出出现问题的原因,并对程序或系统进行优化和改进
日志使用
最左边一列表示时间
INFO那一列表示级别
第三列数字表示进程ID,表示什么时间,谁打印的日志
第四列表示main线程
第五例表示打印日志的类
最后一列是日志的内容
如何打印日志
Spring帮我们集成了日志框架,我们直接使用即可
@Slf4j
@RestController
public class LoggerController {
private static Logger logger = LoggerFactory.getLogger(LoggerController.class);
@PostConstruct
public void print(){
System.out.println("打印日志");
logger.info("====================我是日志=====================");
}
}
运行一下
slf4j并不是一个真正的日志实现,而是日志门面,具体实现是log4.2 logback等
什么是门面模式——外观模式
提供了一个接口,用来访问字系统中的一群接口,其主要特征是定义了一个高层接口,让子系统更容易使用
门面模式主要包含两种角色
1外观角色,也成为门面角色,是系统对外的统一接口。
2子系统角色,可以同时有一个或多个SubSystem,每个SubSystem,都不是单独的类,而是一个类的集合,SubSystem并不知道,Facade的存在,对于SubSystem而言,Facade只是另一个客户端而已
日志级别,从高到低依次为FATAL,ERROR,WARN,INFO,DEBUG,TRACE
FATAL,:致命信息,需要立即处理
ERROR,错误信息,但不影响系统继续运行
WARN,警告信息不影响使用,但需注意
INFO,,普通信息,用于记录应用程序正在运行的一些信息,比如完成请求什么的
DEBUG,调试信息,需要调试的时候关键打印
TRACE,追踪信息,比DEBUG更细粒度的信息事件
日志持久化
数据保存在数据库中,是一种持久化方式
日志保存在文件中,也是一种持久化方式
logging:
level:
root: info
com:
example:
demo: debug
file:
name: aaa.log
这里就会产生一个log文件
name既可以设置名称也可以设置路径
path只能设置路径
由此可得,name的优先级更高
设置分割
logging:
level:
root: info
com:
example:
demo: debug
file:
name: aaa.log
path:
#日志分割
logback:
rollingpolicy:
max-file-size: 1KB
最大容量为1KB
可以使用file-name-pattern:来进行命名
日志的简单写法
使用注解@Sl4fj
@Slf4j
@RestController
public class LoggerController {
//private static Logger logger = LoggerFactory.getLogger(LoggerController.class);
@PostConstruct
public void print(){
System.out.println("打印日志");
log.info("====================我是日志=====================");
log.error("woshierror");
log.warn("woshiwarn");
log.info("woshiinfdfo");
log.debug("dhjsad");
}
}