Python日志五级需严格按语义使用:debug用于开发调试细节,info记录正常运行关键节点,warning提示潜在风险,error表示可恢复的操作失败,critical标志服务不可用。
Python 日志分级不是随便设几个 level 就完事,关键在 debug/info/warning/error/critical 这五级怎么用才不混乱、不遗漏、不误判。核心原则是:每级有明确语义,不同场景对应不同级别,且要配合 handler 和 formatter 才真正生效。
debug 是最低级别,用于输出详细执行路径、变量快照、函数入参/返回值等临时诊断信息。生产环境默认关闭,开发或调试时开启。
logging.basicConfig(level=logging.DEBUG) 或在 logger 上调用 setLevel(logging.DEBUG)
info 表示程序按预期工作的重要节点,是运维和业务方最常查看的级别。它不反映问题,但能回答“发生了什么”“走到哪一步了”。
logger.info("user_registered", user_id=uid, ip=
request.ip)(需用支持结构化的 handler,如 json logging)warning 不代表错误,而是提示“可能出问题,但当前还能继续”。它常被低估,其实是最该主动设计的一级——帮团队提前发现隐患。
立即学习“Python免费学习笔记(深入)”;
error 表示一个操作失败,但程序整体仍可运行(如单次支付请求超时);critical 表示整个服务已无法履行核心职责(如数据库连接全部断开、配置加载失败导致主逻辑不可用)。