日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python日志内容存储到文件里_Python中如何实现将logging日志保存到文件中

發(fā)布時間:2024/1/23 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python日志内容存储到文件里_Python中如何实现将logging日志保存到文件中 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Python中如何實現(xiàn)將logging日志保存到文件中

發(fā)布時間:2020-11-09 17:03:14

來源:億速云

閱讀:66

今天就跟大家聊聊有關(guān)Python中如何實現(xiàn)將logging日志保存到文件中,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

日志作為項目開發(fā)和運行中必備組件,python提供了內(nèi)置的logging模塊來完成這個工作;借助 TimedRotatingFileHandler 可以按日期自動分割日志,自動保留日志文件數(shù)量等,下面是對日志的一個簡單封裝和測試。

import logging

import os

from logging import handlers

class Logger(object):

# 日志級別關(guān)系映射

level_relations = {

'debug': logging.DEBUG,

'info': logging.INFO,

'warning': logging.WARNING,

'error': logging.ERROR,

'critical': logging.CRITICAL

}

def __init__(self,

filename,

level='info',

when='D',

back_count=3,

fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'):

f_dir, f_name = os.path.split(filename)

os.makedirs(f_dir, exist_ok=True) # 當前目錄新建log文件夾

self.logger = logging.getLogger(filename)

format_str = logging.Formatter(fmt) # 設(shè)置日志格式

self.logger.setLevel(self.level_relations.get(level)) # 設(shè)置日志級別

sh = logging.StreamHandler() # 往屏幕上輸出

sh.setFormatter(format_str) # 設(shè)置屏幕上顯示的格式

th = handlers.TimedRotatingFileHandler(filename=filename, when=when, backupCount=back_count,

encoding='utf-8') # 往文件里寫入指定間隔時間自動生成文件的Handler

# 實例化TimedRotatingFileHandler

# interval是時間間隔,backupCount是備份文件的個數(shù),如果超過這個個數(shù),就會自動刪除,when是間隔的時間單位,單位有以下幾種:

# S 秒

# M 分

# H 小時

# D 天

# 'W0'-'W6' 每星期(interval=0時代表星期一:W0)

# midnight 每天凌晨

th.setFormatter(format_str) # 設(shè)置文件里寫入的格式

self.logger.addHandler(sh) # 把對象加到logger里

self.logger.addHandler(th)

# 測試

if __name__ == '__main__':

logger = Logger('./logs/2020/app.log', 'debug', 'S', 5).logger

logger.debug('debug')

logger.info('info')

logger.warning('警告')

logger.error('報錯')

logger.critical('嚴重')

# 單獨記錄error

err_logger = Logger('./logs/2020/error.log', 'error', 'S', 3).logger

err_logger.error('錯誤 error')

為了測試方便,我們將時間間隔設(shè)為秒(按秒自動命名分割文件),多運行幾次后,會按照配置文件數(shù)量將多余的日志文件自動刪除,保留如上圖中的日志文件。

看完上述內(nèi)容,你們對Python中如何實現(xiàn)將logging日志保存到文件中有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

總結(jié)

以上是生活随笔為你收集整理的python日志内容存储到文件里_Python中如何实现将logging日志保存到文件中的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。