首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 日志轮转:logging.handlers 快速落地

Python 日志轮转:logging.handlers 快速落地

作者头像
安全风信子
发布2025-11-18 19:10:54
发布2025-11-18 19:10:54
770
举报
文章被收录于专栏:AI SPPECHAI SPPECH

一句话承诺:最小可用配置,按大小/按时间轮转日志,附表与代码。

对照表

Handler

场景

关键参数

RotatingFileHandler

输出文件大小受限

maxBytes, backupCount

TimedRotatingFileHandler

按天/小时轮转

when, interval, backupCount


代码示例

代码语言:javascript
复制
import logging
from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler

logger = logging.getLogger('app')
logger.setLevel(logging.INFO)

# 按大小轮转
h1 = RotatingFileHandler('app.log', maxBytes=5*1024*1024, backupCount=7)
# 按天轮转
h2 = TimedRotatingFileHandler('app-day.log', when='D', interval=1, backupCount=14)

fmt = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
h1.setFormatter(fmt); h2.setFormatter(fmt)
logger.addHandler(h1); logger.addHandler(h2)

logger.info('hello')

少量解释

  • 结合两种轮转,既控文件大小,又保留按日归档。
  • backupCount 控制历史保留,避免磁盘占满。

常见坑与替代法

  • 坑:多进程写同一文件。替代:使用队列或专用日志代理。
  • 坑:时区不一致导致轮转时间偏差。替代:统一时区或使用UTC。

下一篇预告

Go 并发 Worker Pool:最小实现与坑(代码+图)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对照表
  • 代码示例
  • 少量解释
  • 常见坑与替代法
  • 下一篇预告
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档