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正则表达式操作指南(re使用)
Sep 06 Python
跟老齐学Python之字典,你还记得吗?
Sep 20 Python
python使用分治法实现求解最大值的方法
May 12 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
Python递归函数定义与用法示例
Jun 02 Python
基于python内置函数与匿名函数详解
Jan 09 Python
python 每天如何定时启动爬虫任务(实现方法分享)
May 21 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
Aug 13 Python
python+mysql实现个人论文管理系统
Oct 25 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
python中有帮助函数吗
Jun 19 Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 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 fread()使用技巧
2010/01/22 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
python里使用正则的findall函数的实例详解
2017/10/19 Python
浅析Python函数式编程
2018/10/06 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
Python 从相对路径下import的方法
2018/12/04 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
python实现最小二乘法线性拟合
2019/07/19 Python
Django之路由层的实现
2019/09/09 Python
python实现串口通信的示例代码
2020/02/10 Python
python下载的库包存放路径
2020/07/27 Python
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
创业女性典型材料
2014/05/02 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
获奖感言怎么写
2015/07/31 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
2022/08/05 Servers