Python logging日志库空间不足问题解决


Posted in Python onSeptember 14, 2020

项目中使用的日志库是使用python官方库logging封装的,但是居然一直么有设置日志自动滚动,经常会受到告警说哪台机器磁盘空间又满,清理一下,于是研究一下,解决这个问题。

参考:https://docs.python.org/2/library/logging.handlers.html

TimedRotatingFileHandler有三个参数很关键

when、interval、backupCount

when指定滚动依据的单位,可选的有天、小时、分钟、秒等;interval指定间隔多少个when之后滚动日志;而backupCount指定最多保留多少个日志。

所以结合这三个参数就可以实现我要的目的了,让日志随时间滚动,同时限制总的日志个数。

Python logging日志库空间不足问题解决

demo:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import os
import time
import logging
import logging.handlers

if __name__ == '__main__':
  if len(sys.argv) != 2:
    print('Usage:%s log_name' % (sys.argv[0]))
    sys.exit(0)

  log_dir = './log'
  log_name = sys.argv[1]
  logger = logging.getLogger(log_name)
  logger.setLevel(logging.DEBUG)

  # init handler
  formatter = logging.Formatter('%(message)s')
  file_time_handler = logging.handlers.TimedRotatingFileHandler(
      os.path.join(log_dir, log_name), "M", 1, 5)
  file_time_handler.setFormatter(formatter)
  file_time_handler.setLevel(logging.DEBUG)
  logger.addHandler(file_time_handler)

  while True:
    time.sleep(1)
    logger.info('Hello world %s' % (time.strftime("%Y/%M/%d-%H:%m:%S")))

结果:

Python logging日志库空间不足问题解决

可以看到最上面的一条记录记录就被滚掉了。

666

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在python中的socket模块使用代理实例
May 29 Python
详细介绍Python函数中的默认参数
Mar 30 Python
Python实现身份证号码解析
Sep 01 Python
基于Python如何使用AIML搭建聊天机器人
Jan 27 Python
python中函数传参详解
Jul 03 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
python实现简单多人聊天室
Dec 11 Python
python使用插值法画出平滑曲线
Dec 15 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
python如何使用腾讯云发送短信
Sep 17 Python
4种非常实用的python内置数据结构
Apr 28 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 Python
Python grpc超时机制代码示例
Sep 14 #Python
python/golang 删除链表中的元素
Sep 14 #Python
Python基于pillow库实现生成图片水印
Sep 14 #Python
python/golang实现循环链表的示例代码
Sep 14 #Python
python实现canny边缘检测
Sep 14 #Python
Python gevent协程切换实现详解
Sep 14 #Python
通过实例了解python__slots__使用方法
Sep 14 #Python
You might like
php curl选项列表(超详细)
2013/07/01 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
js 作用域和变量详解
2017/02/16 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python解决鸡兔同笼问题的方法
2014/12/20 Python
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
在Django中创建第一个静态视图
2015/07/15 Python
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
学习新党章思想汇报
2014/01/09 职场文书
大学生个人自荐信
2014/02/24 职场文书
新闻编辑求职信
2014/04/09 职场文书
班级年度安全计划书
2014/05/01 职场文书
诉前财产保全担保书
2014/05/20 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
js Proxy的原理详解
2021/05/25 Javascript
MySQL注入基础练习
2021/05/30 MySQL
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
Python数据处理的三个实用技巧分享
2022/04/01 Python
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js