阅读目录
- 日志库需求分析
- 自定义日志接口
- 日志库优化(异步写日志)
-
- 1 定义结构体存储日志的数据
- 2 文件结构体添加管道字段指定存储日志结构体
- 3 文件初始化存储日志的数据
- 4 文件配置读取,转化
- 5 公共方法返回报错信息
- 6 文件调用公共返回错误信息写入管道
- 7 控制台修改代码输出终端打印
- 8 文件启动协程异步写入日志
- 9 定义结构体存储日志的数据添加区分写入 .log 还是 .log.wf 类型的文件
- 10 获取管道内容,异步写入日志方法
- 11 常量文件定义日志文件拆分方式
- 12 日志结构体添加拆分日志的类型和大小字段
- 13 初始化文件结构体函数读取拆分日志的类型,是大小拆分还是文件拆分
- 14 检测文件拆分使用方式的方法
- 15 文件结构体保存上次日志拆分的小时数字段
- 16 初始化文件结构体写入时间
- 17 日志大小切割方式方法
- 18 日志时间切割方法
- 19 引入日志包后,应用示例
- 20 预览
日志库需求分析
1 日志库产生的背景
- 程序运行是个黑盒。
- 而日志是程序运行的外在表现。
- 通过日志,可以知道程序的健康状态。
2 日志打印级别设置
- A. Debug级别:用来调试程序,日志最详细。对程序性能影响比较大。
- B. Trace级别:用来追踪问题。
- C. Info级别:打印程序运行过程中比较重要的信息,比如访问日志。
- D. Warn级别:警告日志,说明程序运行出现了潜在的问题。
- E. Error级别:错误日志,程序运行发生错误,但不影响程序运行。
- F. Fatal级别:严重错误日志,发生的错误会导致程序退出。
3 日志存储的位置
A. 直接输出到控制台。
B. 打印到文件里。
C. 直接打印到网络中,比如 kafka。
4 日志库接口设计
为什么使用接口?
A. 定义日志库的规范或者标准。
B. 易于可扩展性。
C. 利于程序的可维护性。
5 日志库设计
A. 打印各个 level 的日志
B. 设置级别
C. 构造函数