麻豆黑色丝袜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
主站蜘蛛池模板: 在厨房里挺进美妇雪臀| 最近高清国语中文在线观看免费| 大学生情侣在线| 男人下面进女人下面视频免费| 久久精品成人一区二区三区| 国产丰满麻豆videossexhd| 国产色a在线观看| 精品无码久久久久久久动漫| 久久综合狠狠综合久久综合88| 国产欧美一区二区三区视频在线观看 | 性高湖久久久久久久久aaaaa| 亚洲精品国产电影| 国产激情一区二区三区| 欧美人与动人物姣配xxxx| 欧美国产日韩久久mv| 波多野结衣作品大全| 男的把j放进女人下面视频免费| 特级做a爰片毛片免费看一区| 天天看免费高清影视| 狠狠天天| 国产熟睡乱子伦视频| 国产精品9999久久久久| 亚洲日韩欧洲无码av夜夜摸| 一级毛片不卡| 男的把j放进女人下面视频免费| gay肌肉猛男gay激情狂兵| www.99re.| 天天天天做夜夜夜做| 成人理论电影在线观看| 日本三级午夜理伦三级三| 精品一区二区久久久久久久网精| 在线日韩三级| 久久精品国产99久久久| 一区五十路在线中出| 色噜噜在线观看| 好男人官网资源在线观看| 日本人与黑人xxxx| 午夜欧美激情| 国产v亚洲v欧美v专区| 色吊丝中文字幕| 精品国偷自产在线|