欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Python中什么是logging模塊-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站制作與策劃設(shè)計(jì),陸良網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:陸良等地區(qū)。陸良做網(wǎng)站價(jià)格咨詢:13518219792

這篇文章將為大家詳細(xì)講解有關(guān)Python中什么是logging模塊,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

python的logging模塊

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

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

import logging

logging模塊的用法:

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

import logging
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ì)在屏幕上顯示出以下內(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í)別的日志.

這說(shuō)明默認(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 logging
logging.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 logging
logging.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 logging
logger=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)用來(lái)指定把要寫入文件的日志設(shè)定為debug級(jí)別,而輸出到屏幕上的日志還是warning級(jí)別

fh.setLevel(logging.Debug)

關(guān)于Python中什么是logging模塊就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

當(dāng)前題目:Python中什么是logging模塊-創(chuàng)新互聯(lián)
本文路徑:http://chinadenli.net/article22/dhggcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、企業(yè)建站、網(wǎng)站策劃ChatGPT、品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)

廣告

聲明:本網(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)

成都定制網(wǎng)站建設(shè)