首页 > 编程语言 >python logging 限制文件大小

python logging 限制文件大小

时间:2024-09-13 21:52:08浏览次数:12  
标签:文件大小 logging 文件 python RotatingFileHandler message 日志 logger

环境

window10,pycharm23.0.2

logging的配置

使用 logging 模块时,你可以通过 logging.handlers.RotatingFileHandler 类来限制日志文件的大小。当日志文件达到指定大小时,RotatingFileHandler 会自动创建一个新的日志文件,并将后续的日志记录到新的文件中。

  • 代码
import logging
from logging.handlers import RotatingFileHandler

# 配置日志记录器
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

# 设置日志文件的路径和最大大小
log_file_path = 'app.log'
max_size = 10 * 1024 * 1024  # 10 MB
backup_count = 5  # 最多保留 5 个备份文件

# 创建 RotatingFileHandler
handler = RotatingFileHandler(
    log_file_path,
    maxBytes=max_size,
    backupCount=backup_count,
    encoding='utf-8'
)

# 设置日志级别
handler.setLevel(logging.DEBUG)

# 创建日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# 将 handler 添加到 logger
logger.addHandler(handler)

# 测试日志记录
logger.debug('This is a debug message.')
logger.info('This is an info message.')
logger.warning('This is a warning message.')
logger.error('This is an error message.')
logger.critical('This is a critical message.')

image.png

  • 日志滚动机制 当日志文件达到指定的最大大小 (maxBytes) 时,RotatingFileHandler 会自动创建一个新的日志文件,并将后续的日志记录到新的文件中。旧的日志文件会被重命名,例如 app.log.1, app.log.2 等,直到达到 backupCount 指定的数量。如果超过 backupCount,最老的日志文件会被删除,以便为新的日志文件腾出空间。

标签:文件大小,logging,文件,python,RotatingFileHandler,message,日志,logger
From: https://blog.51cto.com/bomby/12008934

相关文章

  • Python XML 解析
    什么是XML?Python对XML的解析1.SAX(simpleAPIforXML)2.DOM(DocumentObjectModel)3.ElementTree(元素树)python使用SAX解析xmlContentHandler类方法介绍make_parser方法parser方法parseString方法Python解析XML实例使用xml.dom解析xml什么是XML?XML......
  • Python 多线程
    开始学习Python线程线程模块使用Threading模块创建线程线程同步线程优先级队列(Queue)多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事......
  • Python SMTP发送邮件
    使用Python发送HTML格式的邮件Python发送带附件的邮件在HTML文本中添加图片使用第三方SMTP服务发送SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很方......
  • Hash Table 哈希表工作原理介绍及C/C++/Python实现
    HashTable哈希表工作原理介绍及C/C++/Python实现哈希表(HashTable),也称为散列表,是一种通过哈希函数将键(Key)映射到表中一个位置以便快速访问记录的数据结构。它提供了非常高效的数据检索、插入和删除操作。哈希表的基本原理是使用一个哈希函数将输入(通常是字符串)转换为一个......
  • YOLO【避免重复造轮子】开发中积累的一些数据集处理python脚本分享!!
    YOLO【避免重复造轮子】开发中积累的一些数据集处理python脚本分享!!预览内容YOLO【避免重复造轮子】开发中积累的一些数据集处理python脚本分享!!前言代码分享1、坐标转换2、读取标签文件3、cv2快速读取和保存中文路径图片4、单独绘制检测框BBOX和实例分割MASK5、数据集分......
  • opencv-python学习笔记9-图像分割
    目录一、图像分割的概述、技术现状、应用:技术现状:传统图像分割技术:深度学习驱动的图像分割技术:应用领域:二、 图像分割的方法和分类:(1)基于阈值的分割方法:(2)基于区域的分割方法:(3)基于边缘的分割方法:(4)基于特定理论的分割方法:(5)基于深度学习的分割方法:三、图像分割的原理:......
  • 基于python+flask框架的进销存管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着企业规模的扩大与市场竞争的加剧,传统的手工管理模式已难以满足现代商业对效率与准确性的高要求。进销存管理系统作为企业管理的重要组......
  • 基于python+flask框架的资产评估系统的设计与实现(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着市场经济的快速发展与全球化进程的加速,资产评估作为连接经济交易、投资决策、财务管理的重要环节,其重要性日益凸显。传统的手工评估方......
  • 基于python+flask框架的教师档案管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着教育事业的蓬勃发展,教师作为教育体系的核心资源,其管理效率与质量直接关系到学校的教学水平和长远发展。传统的手工或简单的电子表格管......
  • 基于python+flask框架的应急联动预案系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会经济的快速发展与城市化进程的加速,各类突发事件频发,如自然灾害、公共安全事件、公共卫生危机等,对社会稳定、经济发展及民众生活构......