C log
日志信息分类
以下内容系摘抄整理。
日志的等级由低到高应该是:Debug
< Info
< Warn
< Error
<
Fatal
DEBUG | INFO | WARN | ERROR | FATAL | |
---|---|---|---|---|---|
严重程度 | 最低 | 一般 | 较高 | 高 | 极高 |
严重性说明 | 调试时使用,便于开发者快速地详细地了解系统运行状况。正式发布时会禁用。 | 输出信息以反馈系统运行状态给用户。 | 可修复的潜在错误或不规范的代码、编译条件等。 | 可修复错误。软件无法正常运行。 | 相当严重的错误,可能无法修复。继续运行难以保证。 |
使用情况 | 用于打印程序应该出现的正常状态信息, 便于追踪定位。 | 表明系统出现轻微的不合理但不影响运行和使用。 | 表明出现了系统错误和异常,无法正常完成目标操作。 |
错误日志格式整理
错误日志格式大致可以有以下类型。
1 | log.error(“[接口名或操作名] [Some Error Msg] happens. [params] [Probably Because]. [Probably need to do].”); |
或 1
2
3
4
5log.error(“[Some Error Msg] happens to 错误参数或内容 when [in some condition]. [Probably Because]. [Probably need to do].”);
log.error(String.format(“[Some Error Msg] happens to %s when [in some condition]. [Probably Because]. [Probably need to do].”, parameters));
[Probably Reason]. [Probably need to do]. 在某些情况下可以省略; 在一些重要接口和场景下最好能说明一下。
每一条错误日志都是独立的,尽可能完整、具体、直接说明何种场景下发生了什么错误,由什么原因导致,要采用什么措施或步骤。
错误日志的意义
错误日志是排查问题的重要手段之一。 当我们编程实现一项功能时, 通常会考虑可能发生的各种错误及相应原因:
要排查出相应的原因, 就需要一些关键描述来定位原因。这就会形成三元组:错误现象 -> 错误关键描述 -> 最终的错误原因。
需要针对每一种错误尽可能提供相应的错误关键描述,从而定位到相应的错误原因。也就是说,编程的时候,要仔细思考, 哪些描述是非常有利于定位错误原因的, 尽可能将这些描述添加到错误日志中。