技术与生活 / 一篇记录
日志要让故障能被重现,而不是只留下“失败”
一条有用的日志通常包含操作对象、阶段和失败原因。等级帮助筛选严重程度,统一的格式帮助关联同一次任务,比在各处随意打印更适合长期维护。
先明确这里的区别
日志等级有助于区分正常状态、需要关注的问题和真正的失败。
以下示例使用 Python 3,文件路径和输入值均为练习样本。
import logging
logging.basicConfig(level=logging.INFO)
logging.info('job finished')
怎样判断处理正确
调整等级,确认调试信息不会污染正常输出。
把正常完成、可恢复问题和任务失败分别记录,避免全部写成 ERROR。需要机器解析结果时,业务数据走标准输出,日志可以独立写到标准错误。
日志重复出现时,要检查处理器是否被重复注册,以及记录是否继续传播到上级 logger。增大日志级别并不能修复重复输出,先弄清配置位置与初始化次数更重要。
需要留意的是,不要把访问令牌、数据库密码或完整敏感请求写进日志。
参考:Python 文档。