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 相关文章推荐
Django实现图片文字同时提交的方法
May 26 Python
Python守护进程用法实例分析
Jun 04 Python
python将字符串list写入excel和txt的实例
Jul 20 Python
Django Celery异步任务队列的实现
Jul 24 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
python绘制彩虹图
Dec 16 Python
Python中join()函数多种操作代码实例
Jan 13 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
利用keras使用神经网络预测销量操作
Jul 07 Python
python删除文件、清空目录的实现方法
Sep 23 Python
Python 实现进度条的六种方式
Jan 06 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实现搜索类封装示例
2016/03/31 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
PHP图片水印类的封装
2017/07/06 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python图像处理入门(一)
2019/04/04 Python
了解一下python内建模块collections
2020/09/07 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
10的分与合教学反思
2014/04/30 职场文书
委托公证书格式
2015/01/26 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
《三国志》赏析
2019/08/27 职场文书
Python天气语音播报小助手
2021/09/25 Python
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python