Python logging日志库空间不足问题解决
作者:冷冰若水 发布时间:2021-08-24 15:59:17
标签:Python,logging,日志
项目中使用的日志库是使用python官方库logging封装的,但是居然一直么有设置日志自动滚动,经常会受到告警说哪台机器磁盘空间又满,清理一下,于是研究一下,解决这个问题。
参考:https://docs.python.org/2/library/logging.handlers.html
TimedRotatingFileHandler有三个参数很关键
when、interval、backupCount
when指定滚动依据的单位,可选的有天、小时、分钟、秒等;interval指定间隔多少个when之后滚动日志;而backupCount指定最多保留多少个日志。
所以结合这三个参数就可以实现我要的目的了,让日志随时间滚动,同时限制总的日志个数。
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")))
结果:
可以看到最上面的一条记录记录就被滚掉了。
666
来源:https://www.cnblogs.com/lit10050528/p/10799381.html


猜你喜欢
- 将np图片(imread后的图片)转码为base64格式def image_to_base64(image_np):image = cv2.
- 1. 范数示例代码:import torcha = torch.full([8], 1)b = a.reshape([2, 4])c = a
- 本文实例讲述了Python图像滤波处理操作。分享给大家供大家参考,具体如下:在图像处理中,经常需要对图像进行平滑、锐化、边界增强等滤波处理。
- 一. MovingAverage权值滑动平均更新1.1 示例代码:def create_target_q_network(self,stat
- 引言您可以使用df.loc()函数在Pandas DataFrame的末尾添加一行:#add row to end of DataFrame
- Document自带的方法: 循环执行:var timeid = window.setInterval(“方法名或方法”,“延时”);win
- 一、下载地址Apache 5.4 —— httpd-2.4.4-win32.zipPHP 5.4 —— php-5.4.15-Win32-V
- 执行python脚本的时候,有时需要获取命令行参数的相关信息。C语言通过argc和argv来获取参数的个数和参数的内容,python中通过s
- 引言分享一些用Python处理yaml和嵌套数据结构的的一些技巧,首先从修改yaml格式文件的问题出发,演变出了各个解决办法,又从最后的解决
- Matlab函数对应关系(Numpy)首先给出官网链接,其中详细说明了在Python下如何用Numpy实现Matlab下相同的函数功能。博主
- 目录简介图形加载和说明图形的灰度灰度图像的压缩原始图像的压缩总结简介本文将会以图表的形式为大家讲解怎么在NumPy中进行多维数据的线性代数运
- 1.在官网下载MySQL5.7安装包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz。下载地址:htt
- 1、代码1:(1)进度条等显示在主窗口状态栏的右端,代码如下:from PyQt5.QtWidgets import QMainWindow
- <% Function FileCounter(counter_file) Dim fs,txt,fi
- 图片轮播滤镜转换效果,只支持ie浏览器<img width="156" height="60"
- 最近在学习Vue.js,把自己遇到的问题做个记录,所以,今天添加一点小笔记。在项目中遇到两个问题,简单的做个笔记来记录自己解决的问题,可能不
- 刚入pytorch的坑,代码还没看太懂。之前用keras用习惯了,第一次使用pytorch还有些不适应,希望广大老司机多多指教。首先说说,我
- 本文实例讲述了Python面向对象之静态属性、类方法与静态方法。分享给大家供大家参考,具体如下:1. 静态属性:在函数前加@property
- PHP addAttribute() 函数实例给根元素和 body 元素添加一个属性:<?php $note=<<<
- 0. 我们如何通过邮件系统完成远程控制电脑(关机、重启等)?实现思路:需要有两个邮箱:接收指令邮箱(A)发送指令邮箱(B)被控制的电脑(查看