国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python中關(guān)于logging模塊的學(xué)習(xí)筆記

瀏覽:6日期:2022-07-23 09:10:49

python的logging模塊

python提供了一個(gè)日志處理的模塊,那就是logging。

導(dǎo)入logging模塊使用以下命令:

import logging

logging模塊的用法:

1.簡(jiǎn)單的將日志打印到屏幕上

import logginglogging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message')logging.error('This is error message')logging.critical('This is critical message')

會(huì)在屏幕上顯示出以下內(nèi)容:

WARNING:root:This is warning message

ERROR:root:This is error message

CRITICAL:root:This is critical message

默認(rèn)情況下python的logging模塊將日志打印到了標(biāo)準(zhǔn)輸出中,也就是屏幕上,且只顯示了大于等于WARNING級(jí)別的日志.

這說明默認(rèn)的日志級(jí)別設(shè)置為WARNING(日志級(jí)別等級(jí)CRITICAL > ERROR > WARNING > INFO > DEBUG)

默認(rèn)直接輸出的日志格式為日志級(jí)別:Logger名稱:用戶:輸出消息。

2.現(xiàn)在修改日志的默認(rèn)輸出級(jí)別為debug,重新設(shè)定輸出時(shí)間的格式,

import logginglogging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S')logging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message')logging.error('This is error message')logging.critical('This is critical message')

會(huì)在屏幕上顯示以下信息;

2017-07-02 10:41:18 DEBUG This is debug message

2017-07-02 10:41:18 INFO This is info message

2017-07-02 10:41:18 WARNING This is warning message

2017-07-02 10:41:18 ERROR This is error message

2017-07-02 10:41:18 CRITICAL This is critical message

3.現(xiàn)在想把程序產(chǎn)生的日志寫入文件當(dāng)中,可以這樣設(shè)定:

import logginglogging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S', filename='log.txt', filemode='w')logging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message')logging.error('This is error message')logging.critical('This is critical message')

運(yùn)行程序,會(huì)在腳本目錄下生成一個(gè)名為log.txt的文件。

log.txt文件的內(nèi)容如下:

2017-07-02 10:49:13 logging_modules.py[line:211] DEBUG This is debug message

2017-07-02 10:49:13 logging_modules.py[line:212] INFO This is info message

2017-07-02 10:49:13 logging_modules.py[line:213] WARNING This is warning message

2017-07-02 10:49:13 logging_modules.py[line:214] ERROR This is error message

2017-07-02 10:49:13 logging_modules.py[line:215] CRITICAL This is critical message

在這里設(shè)定日志文件的輸出使用的是basicConfig這個(gè)方法:

logging.basicConfig函數(shù)各參數(shù):filename: 指定輸出日志的文件名filemode: 和file函數(shù)意義相同,指定日志文件的打開模式,寫入模式用’w’,追加模式使用’a’format: 指定輸出的內(nèi)容的格式,其中可以使用的參數(shù)有: %(levelno)s: 指定輸出日志的級(jí)別的數(shù)值 %(levelname)s: 指定輸出日志的級(jí)別的名稱 %(pathname)s: 指定當(dāng)前執(zhí)行程序的路徑,其實(shí)就是sys.argv[0] %(filename)s: 指定保存日志文件的名字 %(funcName)s: 打印日志的當(dāng)前函數(shù) %(lineno)d: 打印日志的當(dāng)前行號(hào) %(asctime)s: 打印日志的時(shí)間 %(thread)d: 打印線程ID %(threadName)s: 打印線程名稱 %(process)d: 打印進(jìn)程ID %(message)s: 打印日志信息datefmt: 指定時(shí)間格式,同time.strftime()level: 設(shè)置日志級(jí)別,默認(rèn)為logging.WARNING,這里設(shè)定為logging.DEBUG

4.既想現(xiàn)在就看到輸出的日志,又想把程序運(yùn)行的日志保存在文件里,方便以后查看,可以這樣設(shè)定:

import logginglogger=logging.getLogger()#創(chuàng)建一個(gè)file_handle變量,用于把日志寫入到文件file_handle=logging.FileHandler('log1.txt')#創(chuàng)建一個(gè)stream_handle變量,用于輸出日志到屏幕上stream_handle=logging.StreamHandler()#設(shè)定輸出日志的級(jí)別為debug級(jí)別logger.setLevel(logging.DEBUG)#設(shè)定輸出日志的格式fmt=logging.Formatter('%(asctime)s-%(levelname)s-%(message)s')#為寫入文件的日志添加已設(shè)定的格式file_handle.setFormatter(fmt)#為輸出到屏幕的日志添加已設(shè)定的格式 stream_handle.setFormatter(fmt)logger.addHandler(file_handle)logger.addHandler(stream_handle)#設(shè)定輸出日志的信息logging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message')logging.error('This is error message')logging.critical('This is critical message')

運(yùn)行程序后,會(huì)生成一個(gè)名為log1.txt的文件,文件的內(nèi)容和屏幕上顯示的內(nèi)容都是:

2017-07-02 11:04:53,622-DEBUG-This is debug message

2017-07-02 11:04:53,623-INFO-This is info message

2017-07-02 11:04:53,623-WARNING-This is warning message

2017-07-02 11:04:53,623-ERROR-This is error message

2017-07-02 11:04:53,624-CRITICAL-This is critical message

在這里,還可以添加以下選項(xiàng)用來指定把要寫入文件的日志設(shè)定為debug級(jí)別,而輸出到屏幕上的日志還是warning級(jí)別

fh.setLevel(logging.Debug)

內(nèi)容擴(kuò)展:

日志的作用

通過log的分析,可以方便用戶了解系統(tǒng)或軟件、應(yīng)用的運(yùn)行情況;如果你的應(yīng)用log足夠豐富,也可以分析以往用戶的操作行為、類型喜好、地域分布或其他更多信息;如果一個(gè)應(yīng)用的log同時(shí)也分了多個(gè)級(jí)別,那么可以很輕易地分析得到該應(yīng)用的健康狀況,及時(shí)發(fā)現(xiàn)問題并快速定位、解決問題,補(bǔ)救損失。

簡(jiǎn)單來講就是,我們通過記錄和分析日志可以了解一個(gè)系統(tǒng)或軟件程序運(yùn)行情況是否正常,也可以在應(yīng)用程序出現(xiàn)故障時(shí)快速定位問題。比如,做運(yùn)維的同學(xué),在接收到報(bào)警或各種問題反饋后,進(jìn)行問題排查時(shí)通常都會(huì)先去看各種日志,大部分問題都可以在日志中找到答案。再比如,做開發(fā)的同學(xué),可以通過IDE控制臺(tái)上輸出的各種日志進(jìn)行程序調(diào)試。對(duì)于運(yùn)維老司機(jī)或者有經(jīng)驗(yàn)的開發(fā)人員,可以快速的通過日志定位到問題的根源。可見,日志的重要性不可小覷。日志的作用可以簡(jiǎn)單總結(jié)為以下3點(diǎn):

程序調(diào)試

了解軟件程序運(yùn)行情況,是否正常

軟件程序運(yùn)行故障分析與問題定位

如果應(yīng)用的日志信息足夠詳細(xì)和豐富,還可以用來做用戶行為分析,如:分析用戶的操作行為、類型洗好、地域分布以及其它更多的信息,由此可以實(shí)現(xiàn)改進(jìn)業(yè)務(wù)、提高商業(yè)利益。

到此這篇關(guān)于Python中關(guān)于logging模塊的學(xué)習(xí)筆記的文章就介紹到這了,更多相關(guān)Python之logging模塊相關(guān)介紹內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产欧美综合在线一区二区三区 | 成人免费影院 | 可以免费看黄的网站 | 日韩第一视频 | 九九大香尹人视频免费 | 悠悠影院欧美日韩国产 | 搞黄网站在线观看 | 久草视频在线免费播放 | 国产欧美精品一区二区三区四区 | 国产日韩一区二区三区在线观看 | 在线中文 | 欧美高清视频一区 | 免费国产高清精品一区在线 | av免费网站在线观看 | 在线观看精品视频 | 黄色美女网站免费看 | 亚洲精品日韩专区在线观看 | 免费va国产高清不卡大片 | 久久aa毛片免费播放嗯啊 | 国产免费黄色网址 | 亚洲天堂男人在线 | 91免费视频版 | 国产精品九九 | 99午夜高清在线视频在观看 | 欧美 日韩 国产在线 | 成年男女免费视频网站播放 | 九色视频在线观看免费 | 手机看片日韩国产 | 九九精品视频在线观看 | 九九视频免费观看 | 欧美一区二区视频 | 性做久久久久久久免费看 | 色站综合| 国产精品无码久久av | 三级三级三级网站网址 | 成人欧美一区二区三区黑人 | 亚洲精品一区二区三区第四页 | 18在线观看国内精品视频 | a级在线观看视频 | 日韩欧美亚洲视频 | 亚洲另类在线视频 |