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 正则表达式操作指南
May 04 Python
Python的Django框架可适配的各种数据库介绍
Jul 15 Python
Django查找网站项目根目录和对正则表达式的支持
Jul 15 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 Python
python之pandas用法大全
Mar 13 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
使用python采集Excel表中某一格数据
May 14 Python
python实现移动木板小游戏
Oct 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判断目录存在的简单方法
2019/09/26 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
几种响应式文字详解
2017/05/19 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
户外婚礼策划方案
2014/02/08 职场文书
司机岗位职责说明书
2014/07/29 职场文书
后勤工作个人总结
2015/02/28 职场文书
优秀团员自我评价
2015/03/10 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
500字作文之周记
2019/12/13 职场文书
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android