Python logging日志庫(kù)空間不足問(wèn)題解決
項(xiàng)目中使用的日志庫(kù)是使用python官方庫(kù)logging封裝的,但是居然一直么有設(shè)置日志自動(dòng)滾動(dòng),經(jīng)常會(huì)受到告警說(shuō)哪臺(tái)機(jī)器磁盤(pán)空間又滿(mǎn),清理一下,于是研究一下,解決這個(gè)問(wèn)題。
參考:https://docs.python.org/2/library/logging.handlers.html
TimedRotatingFileHandler有三個(gè)參數(shù)很關(guān)鍵
when、interval、backupCount
when指定滾動(dòng)依據(jù)的單位,可選的有天、小時(shí)、分鐘、秒等;interval指定間隔多少個(gè)when之后滾動(dòng)日志;而backupCount指定最多保留多少個(gè)日志。
所以結(jié)合這三個(gè)參數(shù)就可以實(shí)現(xiàn)我要的目的了,讓日志隨時(shí)間滾動(dòng),同時(shí)限制總的日志個(gè)數(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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python利用shutil實(shí)現(xiàn)拷貝文件功能
shutil?是一個(gè)?Python?內(nèi)置模塊,該模塊對(duì)文件的復(fù)制、刪除和壓縮等操作都提供了非常方便的支持。本文將利用shutil實(shí)現(xiàn)拷貝文件功能,需要的可以參考一下2022-07-07
python實(shí)現(xiàn)通過(guò)pil模塊對(duì)圖片格式進(jìn)行轉(zhuǎn)換的方法
這篇文章主要介紹了python實(shí)現(xiàn)通過(guò)pil模塊對(duì)圖片格式進(jìn)行轉(zhuǎn)換的方法,涉及Python中pil模塊的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
Python實(shí)現(xiàn)簡(jiǎn)單的語(yǔ)音識(shí)別系統(tǒng)
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單的語(yǔ)音識(shí)別系統(tǒng),具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
python抓取多種類(lèi)型的頁(yè)面方法實(shí)例
在本篇文章里小編給大家整理的是關(guān)于python抓取多種類(lèi)型的頁(yè)面方法實(shí)例內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2019-11-11
Django中URLconf和include()的協(xié)同工作方法
這篇文章主要介紹了Django中URLconf和include()的協(xié)同工作方法,Django是Python眾人氣框架中最著名的一個(gè),需要的朋友可以參考下2015-07-07
學(xué)習(xí)Python能用來(lái)做什么的問(wèn)題
這篇文章主要介紹了關(guān)于Python能用來(lái)做什么的問(wèn)題,如果你想學(xué)Python,或者你剛開(kāi)始學(xué)習(xí)Python,那么你可能會(huì)問(wèn):我能用Python做什么?下面就讓我們一起來(lái)看看吧2023-04-04
Python使用Beautiful Soup實(shí)現(xiàn)解析網(wǎng)頁(yè)
在這篇文章中,我們將介紹如何使用 Python 編寫(xiě)一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)爬蟲(chóng),以獲取并解析網(wǎng)頁(yè)內(nèi)容。我們將使用 Beautiful Soup 庫(kù),它是一個(gè)非常強(qiáng)大的庫(kù),用于解析和操作 HTML 和 XML 文檔。讓我們開(kāi)始吧2023-05-05

