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

logging 模块

logging模块支持:分级日志、同时输出控制台 + 文件、自定义日志格式。

Logger(日志器):程序入口,产生日志消息

Handler(处理器):决定日志输出位置(控制台 / 文件)

StreamHandler:输出控制台

FileHandler:输出到本地文件

Formatter(格式器):自定义日志文本格式(时间、级别、信息)

Filter(过滤器):过滤指定日志(拓展了解)

三、日志等级(由低到高)

DEBUG<INFO<WARNING<ERROR<CRITICAL设置等级后,只输出大于等于当前级别的日志。

四、完整实战代码

新建logging_demo.py,代码如下:

import logging # ========== 1. 创建日志器对象 ========== logger = logging.getLogger("demo_logger") # 设置日志器总级别 logger.setLevel(logging.DEBUG) # 防止重复添加处理器 if not logger.handlers: # ========== 2. 定义日志格式 Formatter ========== log_format = logging.Formatter( fmt="%(asctime)s | %(levelname)-8s | %(filename)s:%(lineno)d | %(message)s", datefmt="%Y-%m-%d %H:%M:%S" ) # ========== 3. 创建处理器 Handler ========== # 处理器1:控制台输出 stream_handler = logging.StreamHandler() stream_handler.setLevel(logging.INFO) # 控制台只输出INFO及以上 stream_handler.setFormatter(log_format) # 处理器2:输出到本地日志文件 file_handler = logging.FileHandler("app.log", encoding="utf-8") file_handler.setLevel(logging.DEBUG) # 文件保存全部等级日志 file_handler.setFormatter(log_format) # ==========4. 处理器绑定到日志器 ========== logger.addHandler(stream_handler) logger.addHandler(file_handler) # ========== 测试打印日志 ========== logger.debug("调试信息:变量初始化完成") logger.info("普通信息:程序正常启动") logger.warning("警告信息:磁盘空间不足") logger.error("错误信息:文件读取失败") logger.critical("严重错误:程序即将退出")

五、代码知识点解析

StreamHandler(控制台):只展示 INFO 级别以上日志,方便开发查看

FileHandler(文件):保存全部 DEBUG 级别日志,方便后期排查 bug

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

相关文章:

  • HEIF Utility:如何在Windows上完美解决iPhone照片兼容性难题的终极指南
  • Xilinx 7系列FPGA内置XADC:从架构解析到多通道数据采集实战
  • 私有化 Dify 应用开发(2): 零代码构建大模型微调语料实操
  • 2025-2026年微信小程序毕业设计选题推荐✅
  • 密码安全实践:从哈希到加盐,详解bcrypt与手动实现两种方案
  • 番茄小说下载器完整指南:三步轻松打造个人离线图书馆
  • 碳化硅MOSFET四引脚封装:原理、优势与PCB布局实战
  • 复现文献:LFO正极补锂
  • Unity横板2D游戏开发全流程:从毕设选题到性能优化与打包发布
  • 家电电机驱动应用——SiC功率器件带来更高能效和功率密度
  • LLMs访问ACM数字图书馆:技术路径与实践指南
  • 如何用Mem Reduct实现Windows内存优化:终极指南与实战技巧
  • ChatTTS语音合成引擎架构深度解析:从模型推理到Web服务实现
  • 嵌入式开发核心:晶振频率与UART波特率配置原理及实战调试
  • 跳出同义词低效改写:适配知网 / 维普 AIGC 检测的硬核降重逻辑,三大工具效率与质量深度测评
  • xbox moonlight 串流方案
  • 北京geo优化服务商选哪家?广拓时代谈低价套餐背后的风险
  • 如何用Bili2Text一键将B站视频转为文字稿:完整免费教程
  • 原来重庆这些校园广播销售生产商这么热门,究竟是哪些呢?
  • 逻辑门电路全解析:从布尔代数到CMOS实现与NAND Flash应用
  • 数控精密四象限电源设计:从架构选型到精度实现的工程实践
  • 团队主动性驱动策略:从行为观察到落地执行的完整指南
  • HTTP/HTTPS协议与跨域解决方案实战指南
  • Footprint Tool 3基础配置指南:从数据准备到结果验证的完整流程
  • Unity Sentis移动端AI推理性能实测:模型优化与内存管理实战
  • 用 LangGraph 重构 Agent 控制流
  • 让Agent成本暴降90%!自动化Harness适配框架被CMU开源了
  • 天津geo优化公司推荐榜怎么参考?广拓时代谈选型逻辑
  • 学术论文降AI工具:原理、效果与使用技巧
  • 2026年 3款VIVO通话转文字哪个好?实测筛选后这款不踩雷