今天就跟大家聊聊有關(guān)Python中如何實(shí)現(xiàn)將logging日志保存到文件中,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
隰縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!日志作為項(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')
本文題目:Python中如何實(shí)現(xiàn)將logging日志保存到文件中-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://aaarwkj.com/article24/dohjje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、靜態(tài)網(wǎng)站、建站公司、網(wǎng)頁(yè)設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容