麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

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

手機(jī)站
千鋒教育

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

千鋒教育

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

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

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

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python之logging模塊重定向

Python之logging模塊重定向

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-07 19:33:59 1699356839

對于代碼量較大的工程,建議使用logging模塊進(jìn)行輸出。該模塊是線程安全的,可將日志信息輸出到控制臺(tái)、寫入文件、使用TCP/UDP協(xié)議發(fā)送到網(wǎng)絡(luò)等等。

默認(rèn)情況下logging模塊將日志輸出到控制臺(tái)(標(biāo)準(zhǔn)出錯(cuò)),且只顯示大于或等于設(shè)置的日志級別的日志。日志級別由高到低為CRITICAL>ERROR>WARNING>INFO>DEBUG>NOTSET,默認(rèn)級別為WARNING。

以下示例將日志信息分別輸出到控制臺(tái)和寫入文件:

importlogging

logging.basicConfig(level=logging.DEBUG,

format='%(asctime)s[%(levelname)s]at%(filename)s,%(lineno)d:%(message)s',

datefmt='%Y-%m-%d(%a)%H:%M:%S',

filename='out.txt',

filemode='w')

#將大于或等于INFO級別的日志信息輸出到StreamHandler(默認(rèn)為標(biāo)準(zhǔn)錯(cuò)誤)

console=logging.StreamHandler()

console.setLevel(logging.INFO)

formatter=logging.Formatter('[%(levelname)-8s]%(message)s')#屏顯實(shí)時(shí)查看,無需時(shí)間

console.setFormatter(formatter)

logging.getLogger().addHandler(console)

logging.debug('gubed');logging.info('ofni');logging.critical('lacitirc')

通過對多個(gè)handler設(shè)置不同的level參數(shù),可將不同的日志內(nèi)容輸入到不同的地方。本例使用在logging模塊內(nèi)置的StreamHandler(和FileHandler),運(yùn)行后屏幕上顯示:

[INFO]ofni

[CRITICAL]lacitirc

out.txt文件內(nèi)容則為:

2022-04-22(Fri)17:10:53[DEBUG]attest.py,25:gubed

2022-04-22(Fri)17:10:53[INFO]attest.py,25:ofni

2022-04-22(Fri)17:10:53[CRITICAL]attest.py,25:lacitirc

除直接在程序中設(shè)置Logger、Handler、Formatter等外,還可將這些信息寫入配置文件。示例如下:

#logger.conf

###############Logger###############

[loggers]

keys=root,Logger2F,Logger2CF

[logger_root]

level=DEBUG

handlers=hWholeConsole

[logger_Logger2F]

handlers=hWholeFile

qualname=Logger2F

propagate=0

[logger_Logger2CF]

handlers=hPartialConsole,hPartialFile

qualname=Logger2CF

propagate=0

###############Handler###############

[handlers]

keys=hWholeConsole,hPartialConsole,hWholeFile,hPartialFile

[handler_hWholeConsole]

class=StreamHandler

level=DEBUG

formatter=simpFormatter

args=(sys.stdout,)

[handler_hPartialConsole]

class=StreamHandler

level=INFO

formatter=simpFormatter

args=(sys.stderr,)

[handler_hWholeFile]

class=FileHandler

level=DEBUG

formatter=timeFormatter

args=('out.txt','a')

[handler_hPartialFile]

class=FileHandler

level=WARNING

formatter=timeFormatter

args=('out.txt','w')

###############Formatter###############

[formatters]

keys=simpFormatter,timeFormatter

[formatter_simpFormatter]

format=[%(levelname)s]at%(filename)s,%(lineno)d:%(message)s

[formatter_timeFormatter]

format=%(asctime)s[%(levelname)s]at%(filename)s,%(lineno)d:%(message)s

datefmt=%Y-%m-%d(%a)%H:%M:%S

此處共創(chuàng)建三個(gè)Logger:root,將所有日志輸出至控制臺(tái);Logger2F,將所有日志寫入文件;Logger2CF,將級別大于或等于INFO的日志輸出至控制臺(tái),將級別大于或等于WARNING的日志寫入文件。

程序以如下方式解析配置文件和重定向輸出:

importlogging,logging.config

logging.config.fileConfig("logger.conf")

logger=logging.getLogger("Logger2CF")

logger.debug('gubed');logger.info('ofni');logger.warn('nraw')

logger.error('rorre');logger.critical('lacitirc')

logger1=logging.getLogger("Logger2F")

logger1.debug('GUBED');logger1.critical('LACITIRC')

logger2=logging.getLogger()

logger2.debug('gUbEd');logger2.critical('lAcItIrC')

運(yùn)行后屏幕上顯示:

[INFO]attest.py,7:ofni

[WARNING]attest.py,7:nraw

[ERROR]attest.py,8:rorre

[CRITICAL]attest.py,8:lacitirc

[DEBUG]attest.py,14:gUbEd

[CRITICAL]attest.py,14:lAcItIrC

out.txt文件內(nèi)容則為:

2022-04-22(Fri)20:31:21[WARNING]attest.py,7:nraw

2022-04-22(Fri)20:31:21[ERROR]attest.py,8:rorre

2022-04-22(Fri)20:31:21[CRITICAL]attest.py,8:lacitirc

2022-04-22(Fri)20:31:21[DEBUG]attest.py,11:GUBED

2022-04-22(Fri)20:31:21[CRITICAL]attest.py,11:LACITIRC

以上內(nèi)容為大家介紹了Python之logging模塊重定向,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(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
主站蜘蛛池模板: 动漫小舞被吸乳羞羞漫画在线| 九九九精品视频免费| ipx-412天海翼在线播放| 麻豆女神吴梦梦| 向日葵视频app免费下载| 男人桶女人羞羞漫画全集| 女人18片毛片60分钟| 1313苦瓜网在线播| 国产国产成人精品久久 | а√天堂中文在线官网 | 三上悠亚电影在线观看| 激情欧美日韩一区二区| 午夜体验试看120秒| 放荡的女老板bd中文在线观看| 成品煮伊在2021一二三久| 任你操网站| 国产丝袜制服在线| 中文字幕julia中文字幕| 国产福利影院在线观看| 最新视频-88av| 最近更新2019中文字幕8| 日韩美香港a一级毛片| 久久久久久久综合| 国产三级在线观看专区| 台湾香港澳门三级在线| 老司机带带我懂得视频| 韩国爸爸的朋友10整有限中字| 69国产成人精品午夜福中文| 坛蜜甜蜜皮鞭| 国产欧美一区二区三区观看| tube8中国69videos| 深夜动态福利gif动态进| 欧美卡一卡2卡三卡4卡在线 | 无翼乌邪恶帝日本全彩网站| 性生活片免费看| 青青国产在线播放| eeuss影院在线观看| 国产麻豆videoxxxx实拍| 啊公交车坐最后一排被c视频| 日本人六九视频jⅰzzz| 天天躁夜夜躁很很躁|