链接:https://shop112528152.taobao.com/search.htm?spm=a1z10.1-c.w5002-8173186352.1.45ee61bbp7lr10&search=y
好的软件、好的系统必然离不开好的日志框架,记录日志的意义是十分重要的,但我们有时候却很迷茫:日志到底该记录些什么,就我现如今的经验来看,具体总结如下:
一、应用场景
1. 异常
这是日志最为基本的功能了。
2. 输入参数
记录输入参数,不仅有利于寻找异常产生原因,而且也有助于数据分析
3. 输出参数
有助于开发人员进行连调测试,
4. 关键业务运行状态
一些重要业务有时候我们必须要记录下它的操作过程(包括流程)或者中间数据,同样是帮助查询异常产生原因的
5. 定时任务运行状态
定时任务,因为是自动执行的,为了了解任务执行的执行情况和结果,我们经常会记录任务的开始时间、任务关键业务、结束时间、任务执行耗时时间、执行结果等。
6. 系统启动情况
在系统启动时,我们为了了解系统启动是否正常(包括静态数据加载、框架加载、与其他系统连接等),也会记录系统启动的情况
7. 系统关闭情况
这个相对于系统启动的重要性就要小很多,主要是观察系统资源回收情况。
二、记录方式
1. 控制台
这个是最常用的了。
2. 文件
这个也比较常用,文件记录时可以根据业务和异常的性质、等级来划分记录。
3. 数据库
这个用的并不多,而真正记录在数据库的则是重要业务的日志,与传统的异常日志的意义和概念并不同,传统的异常日志以数据库方式记录并不多见,我也没这么用过。
三、等级
以log4j为例,分为4级(由低到高):
1. debug
2. info
3. warn
4. error
这只是自带的4个等级,其实我们可以完全自定义等级。
四、记录格式
日志的记录格式,一定要本着清晰、明确的目的。明确时间、方法、地点(代码行数)、内容等,日志的记录格式一定要重视,否则浏览起来会非常困难难理解,甚至丧失日志的作用。