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文本特征抽取与向量化算法学习
Dec 22 Python
python删除不需要的python文件方法
Apr 24 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
利用Django-environ如何区分不同环境
Aug 26 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
Python脚本利用adb进行手机控制的方法
Jul 08 Python
对Django外键关系的描述
Jul 26 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
python实现计算图形面积
Feb 22 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 Python
python_tkinter弹出对话框创建
Mar 20 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调用mysql存储过程
2007/02/14 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
jQuery设置图片等比例缩小的方法
2017/04/29 jQuery
vue v-on监听事件详解
2017/05/17 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
express.js中间件说明详解
2019/03/19 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
Python登录注册验证功能实现
2018/06/18 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
python中JWT用户认证的实现
2020/05/18 Python
分享一个python的aes加密代码
2020/12/22 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
美国最大点评网站:Yelp
2018/02/14 全球购物
党员干部廉洁承诺书
2014/05/28 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
公司感谢信范文
2015/01/22 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书