Python日志入门:让报错留下足够上下文

程序报错时,只有一句“失败了”很难定位原因。日志应帮助你知道发生在哪个步骤,同时避免把隐私与凭据写进去。

浅色指令卡片与检查清单
浅色主题概念配图,选自本站AI生成图库;非事件现场或产品实测截图。

先确定读日志的人需要什么

可记录任务编号、处理阶段和错误类型,而不是完整请求体。任务编号应使用内部生成的无敏感标识,不要直接拿邮箱、令牌或身份证号充当它。

使用级别表达意义

INFO适合记录重要过程,WARNING提示仍可继续的异常,ERROR用于失败情况。级别应与实际处理结果一致,不能把所有信息都写成ERROR,否则真正需要处理的问题容易淹没。

异常上下文要有节制

在异常处理分支中,logger.exception可以附带堆栈,但异常消息本身仍可能含敏感内容。上线前审查记录范围和保留周期;文件日志还应配置轮转。下例只向控制台输出虚构任务状态,不写真实文件。

可复制的练习

import logging
import sys
logging.basicConfig(level=logging.INFO, stream=sys.stdout,
                    format="%(levelname)s %(message)s")
logger = logging.getLogger("lesson")
logger.info("task=%s stage=%s", "demo-001", "complete")

本例在隔离的本地环境检查过,Python 3.14.4;下面列出对应运行结果。

INFO task=demo-001 stage=complete

参考与延伸阅读

Python 官方文档。本文的学习步骤和练习为本站整理;涉及具体产品或工具时,请同时核对当前版本说明。

资料查阅与编辑日期:2026年9月22日。作者:玖柒。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享