日志规范
规范的日志存放路径和输出格式将为我们后续的收集和分析带来极大的方便,无需考虑各种不同路径、格式的兼容问题,只需要针对固定几类日志做适配就可以了,具体的规范如下:
日志存放路径规范
项目日志只能输出到固定的位置,例如/data/logs/
目录下
同一类型(例如java web)的日志文件名保持统一,例如都叫application.log
一个类型的项目可以记录多个不同的日志文件,例如exception.log
和business.log
日志输出格式规范
日志输出必须为JSON格式,这个很重要
同一类型的项目应采用统一的日志输出标准,尽量将日志输出模块化,所有项目引用同一模块
输出日志中必须包含标准时间(timestamp)、应用名称(appname)、级别(level)字段,日志内容记录清晰易懂
日志信息级别规范
日志级别 | 说明 | 数值 |
---|---|---|
debug | 调试日志,日志信息量最多 | 7 |
info | 一般信息日志,最常用的级别 | 6 |
notice | 最具有重要性的普通条件信息 | 5 |
warning | 警告级别 | 4 |
error | 错误级别,某个功能不能正常工作 | 3 |
critical | 严重级别,整个系统不能正常工作 | 2 |
alert | 需要立刻修改的日志 | 1 |
emerg | 内核崩溃等严重信息 | 0 |
从上到下级别依次从低到高,日志量从多到少,正确选择日志级别帮助后期快速排查问题
我们为什么要制定这样的规范?