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修改Excel数据的实例代码
Nov 01 Python
Python实现矩阵转置的方法分析
Nov 24 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
Python装饰器模式定义与用法分析
Aug 06 Python
python使用zip将list转为json的方法
Dec 31 Python
Python使用reportlab模块生成PDF格式的文档
Mar 11 Python
python生成requirements.txt的两种方法
Sep 18 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
Python通过getattr函数获取对象的属性值
Oct 16 Python
python实现xml转json文件的示例代码
Dec 30 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 5.3.0 安装分析心得
2009/08/07 PHP
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
php实现websocket实时消息推送
2018/03/30 PHP
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
python list使用示例 list中找连续的数字
2014/01/27 Python
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
python简单区块链模拟详解
2019/07/03 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
一个入门级python爬虫教程详解
2021/01/27 Python
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
实现向右循环移位
2014/07/31 面试题
中文专业毕业生自荐信
2013/10/28 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
网聊搭讪开场白
2015/05/28 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android