Python日志系统如何搭建_logging模块使用教程【教程】

admin 百科 13
Python logging模块无需额外安装即可实现分级记录、多目标输出、格式自定义和自动轮转;关键在于规避日志不显示、文件未生成、级别被忽略、多进程错乱等常见问题。

Python日志系统如何搭建_logging模块使用教程【教程】-第1张图片-佛山资讯网

Python 自带的 logging 模块足够强大,不用额外装包就能实现分级记录、多输出目标、格式自定义和自动轮转。关键不是“能不能用”,而是“怎么避免踩坑”——比如日志不显示、文件没生成、级别被忽略、多进程写入错乱等。

基础配置:别直接用 print,从 logging.basicConfig 开始

刚上手时,最简单可靠的方式是调用 logging.basicConfig() 一次性设定全局行为。它只生效一次,必须在导入其他模块前(或至少在首次调用 logging.debug() 前)执行。

  • 设置日志级别:level=logging.INFO 表示 INFO 及以上(INFO、WARNING、ERROR、CRITICAL)才会输出,DEBUG 被静默
  • 指定输出位置:filename='app.log' 写入文件;不加该参数则默认输出到控制台
  • 统一格式:format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',其中 %(name)s 默认是 root,后续可换为自定义名称

示例:

import logging
logging.basicConfig(
  level=logging.INFO,
  filename='run.log',
  format='%(asctime)s - %(levelname)s - %(message)s',
  datefmt='%Y-%m-%d %H:%M:%S'
)
logging.info("服务已启动")

进阶结构:用 getLogger + Handler 实现灵活分流

当项目变大,你需要把不同模块的日志分开存(如 web 请求进 access.log,数据库错误进 db.log),或同时输出到文件和控制台——这时就不能只靠 basicConfig,得手动构造 logger 和 handler。

立即学习“Python免费学习笔记(深入)”;

标签: python windows app access 中文乱码 win stream 常见问题 gate asic

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~