当前位置: 首页 > news >正文

Python logging日志模块:分级日志、文件输出、完整工程配置

博客导语

print 只能临时调试,线上项目绝对禁止用print。logging 是Python官方日志模块,支持日志分级、时间记录、文件持久化、按大小/时间切割,是排查BUG、记录运行状态、线上运维的核心工具。


一、日志五大级别(优先级递增)

  • DEBUG:调试信息,开发阶段使用

  • INFO:正常运行信息

  • WARNING:警告信息,不影响程序运行

  • ERROR:错误信息,功能异常

  • CRITICAL:致命错误,程序终止


二、基础日志输出

import logging # 设置全局日志级别 logging.basicConfig(level=logging.INFO) logging.debug("调试信息") logging.info("正常信息") logging.warning("警告信息") logging.error("错误信息")

三、工程级配置:控制台+文件双输出

生产标配:同时打印控制台、保存日志文件、带时间、行号、级别。

import logging # 1. 创建日志对象 logger = logging.getLogger() logger.setLevel(logging.DEBUG) # 2. 日志格式 formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s - %(lineno)d - %(message)s") # 3. 控制台输出 ch = logging.StreamHandler() ch.setFormatter(formatter) # 4. 文件输出 fh = logging.FileHandler("run.log", encoding="utf-8") fh.setFormatter(formatter) # 5. 添加处理器 logger.addHandler(ch) logger.addHandler(fh) # 测试 logger.info("程序启动成功") logger.error("测试错误日志")

四、日志轮转(防止日志文件过大)

企业项目使用按时间切割日志,自动归档、自动清理。

from logging.handlers import TimedRotatingFileHandler

五、使用规范

  • 开发调试用DEBUG,线上环境用INFO级别

  • 所有异常捕获必须记录error日志

  • 禁止线上使用print输出

http://www.jsqmd.com/news/1070864/

相关文章:

  • DARLING框架:用变化检测增强强化学习应对非平稳环境
  • Harness Engineering:智能汽车物理层连接的系统工程方法论
  • 基于群体感知与边缘MPC的机器人社交导航算法详解
  • 生成模型在生命科学中的应用:从DNA动力学到蛋白质结构解析
  • 数据分析师的终结?Code Interpreter 与 Agent
  • 本体评估方法论WiseOWL:语义网质量守护者
  • 张量退化∃R完全性:超行列式计算与确定性算法的理论障碍
  • 机器人控制新范式:ReconVLA如何通过不确定性引导与故障感知提升系统鲁棒性
  • 2026最新专业排盘工具精度评测:如何判定传统历法数智化软件误差
  • 深度学习在生物声学中的应用与bacpipe工具解析
  • LTL公式有限迹求值:释放与强释放算子算法详解
  • 终端Agent的能力边界:从npm安装到source map锚定的三大可靠场景
  • DALC-CT:基于低层指令轨迹动态分析的恒定时间验证方法
  • 大模型可解释性实践:Introspection Adapters技术详解与实现
  • CNN+Transformer的SEM图像分析:缺陷检测准确率99.7%的实战
  • 基于时空建模与语义分割的离岸流检测技术实战解析
  • 想要找专业靠谱的东莞ERP财务数据治理咨询机构该怎么选
  • Audacity 3.7.7 官方版下载(Windows/macOS/Linux,夸克网盘)
  • DALC-CT:基于指令追踪的恒定时间验证工具原理与实践
  • Transformer状态跟踪困境:前馈网络无状态性与循环架构的潜力
  • Agent初创实习-大模型推理加速02
  • MCP协议实战:手写v1.2服务端与三类异构Agent互通
  • 蛋白质设计中的Token级不确定性估计:LogTokU原理与应用
  • 锂离子电池多孔电极理论:从无量纲数到工程简化模型
  • GPU内核性能优化新思路:AdaExplore框架如何利用失败驱动与多样性搜索突破瓶颈
  • 飞书CLI:基于Go的企业级命令行操作系统
  • 我的AI辅助开发工具链2026版:从编码助手到工业视觉检测的全栈实践
  • GitHub Markdown终极指南:GFM语法原理与协作工程实践
  • 有限迹LTL中强释放与释放算子的语义差异与算法实现
  • WebRTC实时支付延迟优化:LETW框架治理用户体验