Python logging日志庫空間不足問題解決
項目中使用的日志庫是使用python官方庫logging封裝的,但是居然一直么有設(shè)置日志自動滾動,經(jīng)常會受到告警說哪臺機(jī)器磁盤空間又滿,清理一下,于是研究一下,解決這個問題。
參考:https://docs.python.org/2/library/logging.handlers.html
TimedRotatingFileHandler有三個參數(shù)很關(guān)鍵
when、interval、backupCount
when指定滾動依據(jù)的單位,可選的有天、小時、分鐘、秒等;interval指定間隔多少個when之后滾動日志;而backupCount指定最多保留多少個日志。
所以結(jié)合這三個參數(shù)就可以實現(xiàn)我要的目的了,讓日志隨時間滾動,同時限制總的日志個數(shù)。

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")))
結(jié)果:

可以看到最上面的一條記錄記錄就被滾掉了。
666
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)通過pil模塊對圖片格式進(jìn)行轉(zhuǎn)換的方法
這篇文章主要介紹了python實現(xiàn)通過pil模塊對圖片格式進(jìn)行轉(zhuǎn)換的方法,涉及Python中pil模塊的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
Django中URLconf和include()的協(xié)同工作方法
這篇文章主要介紹了Django中URLconf和include()的協(xié)同工作方法,Django是Python眾人氣框架中最著名的一個,需要的朋友可以參考下2015-07-07
Python使用Beautiful Soup實現(xiàn)解析網(wǎng)頁
在這篇文章中,我們將介紹如何使用 Python 編寫一個簡單的網(wǎng)絡(luò)爬蟲,以獲取并解析網(wǎng)頁內(nèi)容。我們將使用 Beautiful Soup 庫,它是一個非常強(qiáng)大的庫,用于解析和操作 HTML 和 XML 文檔。讓我們開始吧2023-05-05

