Python的print()能夠?qū)崿F(xiàn)將需要的信息輸出在控制臺(tái)上,然而當(dāng)程序較為復(fù)雜,需要將大量的信息記錄下來的時(shí)候,print的打印就較為不方便,因此Python引入了logging模塊來記錄一些想要的信息。
logging相對(duì)print來說更好控制輸出在哪個(gè)地方,怎么輸出及控制消息級(jí)別來過濾掉那些不需要的信息。
1.logging的級(jí)別關(guān)系
先用一個(gè)簡(jiǎn)單的例子來了解logging的輸出以及各級(jí)
logger = logging.getLogger()
logger.setLevel(logging.NOTSET)
別之間的關(guā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 an error message')
logging.critical('this is a critical message')
其輸出為:
WARNING:root:this is warning message
ERROR:root:this is an error message
CRITICAL:root:this is a critical message
可以看到,只有后面三行有輸出,這是因?yàn)閘ogging默認(rèn)的級(jí)別是warning,因此只有warning及其以上的級(jí)別能夠顯示出。
logging的級(jí)別關(guān)系表示為: CRITICAL > ERROR > WARNING > INFO > DEBUG>NOTSET
其每一個(gè)級(jí)別對(duì)應(yīng)的數(shù)值表示為:
若要修改logging的輸出,使低于warning的日志也能夠輸出,則可設(shè)置level為NOTSET,表示不設(shè)置
import logging
logging.basicConfig(format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='/tmp/test.log',
filemode='w')
logger = logging.getLogger()
logger.setLevel(logging.NOTSET)
logging.debug('this is debug message')
logging.info('this is info message')
logging.warning('this is warning message')
logging.error('this is an error message')
logging.critical('this is a critical message')
則輸出為:
DEBUG:root:this is debug message
2019-05-22 11:03:25,320 - this is debug message
INFO:root:this is info message
2019-05-22 11:03:25,325 - this is info message
WARNING:root:this is warning message
2019-05-22 11:03:25,329 - this is warning message
ERROR:root:this is an error message
2019-05-22 11:03:25,335 - this is an error message
CRITICAL:root:this is a critical message
2019-05-22 11:03:25,341 - this is a critical message
因此
logger = logging.getLogger()
logger.setLevel(logging.NOTSET)
可設(shè)置不同的級(jí)別,顯示不同程度的log日志
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
