1 日志的作用
日志是程序的重要组成部分,我们通常在调试代码的时候也会通过控制台打印的日志找出报错原因,除了基本的发现和定位问题,日志还有以下功能:
- 记录用户登录日志,方便分析用户是否正常登录,便于发现恶意破解用户;
- 记录系统操作日志,方便数据恢复和定位操作人;
- 记录程序执行时间,为优化程序提供数据支持。
2 日志的使用
- 得到日志对象
注意千万不能导错包,很多包里都有Logger
- 使用日志对象打印日志
在这里打印日志使用日志对象提供的内置方法打印日志:
当前日志格式:
日志执行时间 | 日志级别 | 线程id | 输出日志的线程名称 | 日志归属的包名+类名 | 日志内容
在这里我们可以看到我们写了五个日志,却只执行了三个日志,这与日志的级别有关,我们下面了解日志的级别。
3 日志级别
日志在进行打印的时候只会打印比当前日志级别高的日志。
3.1 日志级别作用
- 快速筛选重要日志;
- 可以在不同的环境下设置不同日志级别的需求;
3.2 日志级别的分类及使用
- trace:微量、少许,级别最低的;
- debug:调试日志;
- info:普通日志,(默认日志级别);
- warn:警告日志,不影响使用;
- error:错误信息,级别较高的错误日志信息;
- fatal:致命的错误,因为代码异常导致程序退出执行的事件。(fatal是不支持用户自定义的)
3.3 日志级别设置
- 日志级别可以在配置文件下设置
- 针对不同的目录设置不同的日志级别
System.out.println VS 日志框架 前者的两个缺点:
打印信息不全(没有时间、日志来源等);
不能实现日志打印的隐藏和显示;
前者打印的日志不能被持久化。
4 日志持久化
保存日志到磁盘:
- 设置日志的保存目录
再次运行日志是继续保存而不是覆盖,所有的操作日志都会被保存下来;日志文件的大小可以被设置的,且当日志文件超过最大值会在当前目录下默认新建日志保存日志文件。 - 设置日志的保存文件名
5 lombok输出日志
- 添加lombok框架;
- 使用@slf4j 注解输出日志
效果相同更为简便且日志持久化。