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

先确定读日志的人需要什么
可记录任务编号、处理阶段和错误类型,而不是完整请求体。任务编号应使用内部生成的无敏感标识,不要直接拿邮箱、令牌或身份证号充当它。
使用级别表达意义
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







