一、日志级别
日志级别从高到低分为:
fatal:致命,指明非常严重的可能会导致应用终止执行错误事件。error:错误,指明错误事件,但应用可能还能继续运行。warn:警告,指明可能潜在的危险状况,比如不是期望的状态,但应用可以继续运行。info:信息,指明描述信息,从粗粒度上描述了应用运行过程,比如重要流程的过程信息。debug:调试,指明细致的事件信息,比info级别的粒度更细,辅助调试阶段,比如记录变量值或更细化的过程信息。trace:跟踪,指明程序运行轨迹,比debug级别的粒度更细。
二、日志规范
一条日志的格式为:级别 + 时间 + 进程:线程 + 标签 + [文件名 行号 函数名] + 内容,其中内容前面要留一个空格。
级别:对应第一节中的日志级别,需要大写缩写,从高到低对应:F、E、W、I、D、T。时间:日志事件发生的时间,显示年月日时分秒毫秒,如:[2021-04-28 14:18:54.213]。进程:线程:显示进程和线程信息,需要显示进程ID和日志事件发生的线程ID,如:[21313:34222]。标签:(可选)用于指定该日志内容的模块归属,多层级的模块用.分隔,如:[network]、[task.file_operate]。文件名 行号 函数名:(可选)内测阶段尽量加上,发布版本可不加。内容:具体的日志内容,自行定义,尽量简短能够方便阅读即可,每条日志内容尽量不要存在跨行符号。
示例:
F[2021-04-28 14:18:52.124][21313:52212][database] 数据库文件损坏
E[2021-04-28 14:18:52.567][21313:12416][device] 内部设备识别不了
W[2021-04-28 14:18:53.087][21313:34234][network] 无法连通外部网络
I[2021-04-28 14:18:54.213][21313:64222][login][/opt/test/login.cpp 34 onLogin] 用户test登录成功
D[2021-04-28 14:18:55.522][21313:98655][task.file_operate] copy file name: /mnt/data/test.txt, ret = true
T[2021-04-28 14:18:55.524][21313:98655][utils] 删除文件: rm -rf /mnt/data/demo.txt
I[2021-04-28 14:18:56.243][21313:64222] 用户test登录成功
381

被折叠的 条评论
为什么被折叠?



