日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python 中 Logging 模塊使用詳情

Python 中 Logging 模塊使用詳情

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-07 00:14:43 1699287283

1.為什么要用logging模塊

在實際應(yīng)用中,日志文件十分重要,通過日志文件,我們知道程序運(yùn)行的細(xì)節(jié);同時,當(dāng)程序出問題時,我們也可以通過日志快速定位問題所在。在我們寫程序時,也可以借助logging模塊的輸出信息來調(diào)試代碼。

但是很多人還是在程序中使用print()函數(shù)來輸出一些信息,比如:

print'Startreadingdatabase'

records=model.read_recrods()

print'#records',records

print'Updatingrecord...'

model.update_records(records)

print'done'

這樣用的話缺點(diǎn)很明顯,當(dāng)程序?qū)懞眠\(yùn)行時,我們要把這些print()函數(shù)刪掉,在簡單的的程序中用還行,當(dāng)程序比較復(fù)雜時,這個辦法很低效。

如果使用logging模塊,看看效果:

importlogging

logging.basicConfig(level=logging.INFO)

logger=logging.getLogger(__name__)

logger.info('Startreadingdatabase')

#readdatabasehere

records={'john':55,'tom':66}

logger.debug('Records:%s',records)

logger.info('Updatingrecords...')

#updaterecordshere

logger.info('Finishupdatingrecords')

運(yùn)行結(jié)果如下:

INFO:__main__:Startreadingdatabase

INFO:__main__:Updatingrecords...

INFO:__main__:Finishupdatingrecords

你也許會問,這和print()函數(shù)有什么區(qū)別呢?區(qū)別就在于,logging模塊可以通過改變level來控制一些語句是否被輸出,比如當(dāng)我們把level改成DEBUG級別:

logging.basicConfig(level=logging.DEBUG)

得到輸出如下:

INFO:__main__:Startreadingdatabase

DEBUG:__main__:Records:{'john':55,'tom':66}

INFO:__main__:Updatingrecords...

INFO:__main__:Finishupdatingrecords

2.logging模塊介紹

logging模塊是python自帶的一個包,因此在使用的時候,不必安裝,只需要import即可。有5個level,分別是debug,主要是查看一下程序運(yùn)行的信息,一般是調(diào)試程序要看的信息;info,是我們看程序是否如預(yù)料執(zhí)行的信息;warn,意料之外的,但是不影響程序運(yùn)行;error和critical就是一些比較嚴(yán)重的問題,會影響程序運(yùn)行。默認(rèn)leval是warn,這個時候debug級別和info級別就不會被輸出到日志里了。如果想要看到這些信息,就需要進(jìn)行一些設(shè)置。

3.基礎(chǔ)設(shè)置

我們主要調(diào)用basicConfig(***kwargs*)這個函數(shù)對logging進(jìn)行設(shè)置。

常用的參數(shù)如下:

·level:主要調(diào)整logging的級別

·filename:輸出日志的路徑

·filemode:直接寫入還是追加寫入

·format:輸出的格式

我們通過調(diào)整format,可以輸出我們想要的格式,比如:

importlogging

logging.basicConfig(format='%(asctime)s-%(message)s',datefmt='%d-%b-%y%H:%M:%S')

logging.warning('Adminloggedout')

結(jié)果是:

12-Jul-1820:53:19-Adminloggedout

這就是在format參數(shù)中設(shè)置了時間的,所以得到了時間,我們可以輸出多種想要的信息

以上內(nèi)容為大家介紹了Python中Logging模塊使用詳情,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.hangjiakeji.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
主站蜘蛛池模板: 阿城市| 南康市| 兰考县| 漾濞| 奉新县| 乌兰察布市| 青浦区| 长武县| 南通市| 庄河市| 义乌市| 巫溪县| 合阳县| 达日县| 淳化县| 靖安县| 海伦市| 阳原县| 临潭县| 绍兴县| 吉首市| 嵊州市| 合山市| 乌拉特前旗| 福建省| 社旗县| 江油市| 阳泉市| 安图县| 彩票| 阿拉善盟| 康保县| 利川市| 武宁县| 保康县| 庆安县| 阆中市| 台南市| 原阳县| 奇台县| 嘉祥县|