一 概述
日志级别 | 描述 | 高 |
OFF | 关闭:最高级别,不输出日志 | |
FATAL | 致命:输出非常严重的可能会导致应用程序终止的错误 | |
ERROR | 错误:输出错误,但是应用程序继续运行 | |
WARN | 警告:输出可能潜在的危险状况 | |
INFO | 信息:输出应用运行过程中的详细信息 | |
DEBUG | 调试:输出更细致的对调试应用有用的信息 | |
TRACE | 跟踪:输出更细致的程序运行轨迹 | |
ALL | 所有:输出所有级别的信息 | 低 |
二 记录日志的情况
系统初始化:系统或者服务的启动参数,核心模块或者组件初始化过程中往往依赖一些关键配置,根据参数不同会依赖一些不同的服务。务必在这里记录INFO日志,打印出参数以及启动完成态服务表述 。
编程语言提示异常:如今各种主流的编程语言都包括异常机制,业务相关的流行框架有完整的异常模块,这类捕获异常是系统告知开发人员要加以关注,是质量非常高的报错,应当适当记录日志,根据实际结合业务的情况使用WARN或者ERROR级别。
业务流程不符合预期:除开发平台以及编程语言异常之外,项目代码中结果与期望不符合时也是日志场景之一,常见的场景包括外部参数不正确,数据处理问题导致返回码不在合理范围内等等。
系统核心角色,组件关键动作:系统中核心角色触发的业务动作是需要多加以关注的,是衡量系统正常运行的重要标准,建议记录INFO级别日志,如电商系统用户从登录到下单的整个流程;微服务各个服务节点交互;核心数据表的增删改;核心组件运行等等,如果日志频度高或者打印量特别大,可以提取关键点INFO记录,其他的可以考虑DEBUG级别的日志。
第三方服务远程调用:微服务架构体系中有一个重要的点为第三方永远不可信,对于第三方服务远程过程调用应该答应请求和相应的参数, 方便在和各个终端定位问题,不会因为第三方服务日志缺失而手足无措。
待续...