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爬虫之爬虫框架Scrapy安装配置
Nov 06 Python
Python实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
Python 模板引擎的注入问题分析
Jan 01 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
详解Python开发中如何使用Hook技巧
Nov 01 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
Jun 07 Python
Python lambda表达式用法实例分析
Dec 25 Python
Python字符串的全排列算法实例详解
Jan 07 Python
python 判断矩阵中每行非零个数的方法
Jan 26 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
python实现统计代码行数的小工具
Sep 19 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 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通过rmdir删除目录的简单用法
2015/03/18 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
python中os模块详解
2016/10/14 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
python3.6的venv模块使用详解
2018/08/01 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
Python configparser模块应用过程解析
2020/08/14 Python
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
公务员转正考察材料
2014/02/07 职场文书
内刊编辑求职自荐书范文
2014/02/19 职场文书
设计师求职信模板
2014/05/06 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
趣味运动会开幕词
2015/01/28 职场文书
秦兵马俑导游词
2015/02/02 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript