最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中l(wèi)ogging日志記錄到文件及自動(dòng)分割的操作代碼

 更新時(shí)間:2020年08月05日 08:43:53   作者:行星帶  
這篇文章主要介紹了Python中l(wèi)ogging日志記錄到文件及自動(dòng)分割,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

import logging
import os
from logging import handlers

class Logger(object):
 # 日志級(jí)別關(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) # 當(dāng)前目錄新建log文件夾
 self.logger = logging.getLogger(filename)
 format_str = logging.Formatter(fmt) # 設(shè)置日志格式
 self.logger.setLevel(self.level_relations.get(level)) # 設(shè)置日志級(jí)別
 sh = logging.StreamHandler() # 往屏幕上輸出
 sh.setFormatter(format_str) # 設(shè)置屏幕上顯示的格式
 th = handlers.TimedRotatingFileHandler(filename=filename, when=when, backupCount=back_count,
      encoding='utf-8') # 往文件里寫(xiě)入指定間隔時(shí)間自動(dòng)生成文件的Handler
 # 實(shí)例化TimedRotatingFileHandler
 # interval是時(shí)間間隔,backupCount是備份文件的個(gè)數(shù),如果超過(guò)這個(gè)個(gè)數(shù),就會(huì)自動(dòng)刪除,when是間隔的時(shí)間單位,單位有以下幾種:
 # S 秒
 # M 分
 # H 小時(shí)
 # D 天
 # 'W0'-'W6' 每星期(interval=0時(shí)代表星期一:W0)
 # midnight 每天凌晨
 th.setFormatter(format_str) # 設(shè)置文件里寫(xiě)入的格式
 self.logger.addHandler(sh) # 把對(duì)象加到logger里
 self.logger.addHandler(th)

# 測(cè)試
if __name__ == '__main__':
 logger = Logger('./logs/2020/app.log', 'debug', 'S', 5).logger
 logger.debug('debug')
 logger.info('info')
 logger.warning('警告')
 logger.error('報(bào)錯(cuò)')
 logger.critical('嚴(yán)重')

 # 單獨(dú)記錄error
 err_logger = Logger('./logs/2020/error.log', 'error', 'S', 3).logger
 err_logger.error('錯(cuò)誤 error')

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

原文鏈接:https://beltxman.com/3195.html,若無(wú)特殊說(shuō)明本站內(nèi)容為行星帶原創(chuàng),未經(jīng)同意禁止轉(zhuǎn)載!

總結(jié)

到此這篇關(guān)于Python中l(wèi)ogging日志記錄到文件及自動(dòng)分割的文章就介紹到這了,更多相關(guān)python logging日志記錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python讀取csv文件實(shí)例解析

    Python讀取csv文件實(shí)例解析

    這篇文章主要介紹了Python讀取csv文件實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 關(guān)于Python使用turtle庫(kù)畫(huà)任意圖的問(wèn)題

    關(guān)于Python使用turtle庫(kù)畫(huà)任意圖的問(wèn)題

    這篇文章主要介紹了Python turtle庫(kù)畫(huà)任意圖,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • pytorch實(shí)現(xiàn)線性回歸以及多元回歸

    pytorch實(shí)現(xiàn)線性回歸以及多元回歸

    這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)線性回歸以及多元回歸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python Django模型詳解

    Python Django模型詳解

    這篇文章主要介紹了Django 模型類(models.py)的定義詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-10-10
  • python 獲取一個(gè)值在某個(gè)區(qū)間的指定倍數(shù)的值方法

    python 獲取一個(gè)值在某個(gè)區(qū)間的指定倍數(shù)的值方法

    今天小編就為大家分享一篇python 獲取一個(gè)值在某個(gè)區(qū)間的指定倍數(shù)的值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程的步驟詳解

    使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程的步驟詳解

    Python數(shù)據(jù)庫(kù)編程可以使用多種模塊與API,例如SQLite、MySQL、PostgreSQL等,本教程將重點(diǎn)介紹使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程,需要的朋友可以參考下
    2023-06-06
  • 利用Python中unittest實(shí)現(xiàn)簡(jiǎn)單的單元測(cè)試實(shí)例詳解

    利用Python中unittest實(shí)現(xiàn)簡(jiǎn)單的單元測(cè)試實(shí)例詳解

    如果項(xiàng)目復(fù)雜,進(jìn)行單元測(cè)試是保證降低出錯(cuò)率的好方法,Python提供的unittest可以很方便的實(shí)現(xiàn)單元測(cè)試,從而可以替換掉繁瑣雜亂的main函數(shù)測(cè)試的方法,將測(cè)試用例、測(cè)試方法進(jìn)行統(tǒng)一的管理和維護(hù)。本文主要介紹了利用Python中unittest實(shí)現(xiàn)簡(jiǎn)單的單元測(cè)試。
    2017-01-01
  • 簡(jiǎn)單理解Python中基于生成器的狀態(tài)機(jī)

    簡(jiǎn)單理解Python中基于生成器的狀態(tài)機(jī)

    這篇文章主要介紹了簡(jiǎn)單理解Python中基于生成器的狀態(tài)機(jī),來(lái)自于IBM官方技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • python基礎(chǔ)詳解之if循環(huán)語(yǔ)句

    python基礎(chǔ)詳解之if循環(huán)語(yǔ)句

    這篇文章主要介紹了python基礎(chǔ)詳解之if循環(huán)語(yǔ)句,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好的幫助需要的朋友可以參考下
    2021-04-04
  • Python主動(dòng)拋出異常的各種用法和場(chǎng)景分析

    Python主動(dòng)拋出異常的各種用法和場(chǎng)景分析

    在Python中,我們不僅可以捕獲和處理異常,還可以主動(dòng)拋出異常,也就是以類的方式自定義錯(cuò)誤的類型和提示信息,這在編程中非常有用,下面我將詳細(xì)解釋主動(dòng)拋出異常的各種用法和場(chǎng)景,需要的朋友可以參考下
    2025-06-06

最新評(píng)論

灵宝市| 安远县| 光山县| 龙南县| 东源县| 荔波县| 中宁县| 怀柔区| 怀远县| 呼玛县| 娄烦县| 广宗县| 嘉荫县| 甘南县| 棋牌| 隆化县| 克什克腾旗| 平江县| 镇安县| 高要市| 双流县| 云龙县| 宝兴县| 阳春市| 旅游| 吴川市| 乌兰察布市| 宁陕县| 安陆市| 沁水县| 江孜县| 新丰县| 哈尔滨市| 孟连| 佛冈县| 财经| 湖口县| 孟村| 巴东县| 永清县| 邵阳市|