麻豆黑色丝袜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
主站蜘蛛池模板: 国产刺激视频| 日韩精品视频免费观看| 一级做α爱**毛片| 波多野结衣在线看片| 老汉扛起娇妻玉腿进入h文| 日本高清不卡在线观看| 女人18毛片a级毛片| 女人18毛片a级毛片| 2021日产国产麻豆| 成人理论片| 日本色视| 北条麻妃毛片在线视频| 国产精品宅男在线观看| 又大又湿又紧又爽a视频| 九色视频网址| 87福利网| 日本动漫h在线| 中文理论片| 国产精品原创| 日本边添边摸边做边爱喷水| 久久精品国产精品亚洲毛片| 色丁香在线| 亚洲免费网址| 品色堂永久免费| 欧美播播| 无翼乌漫画全彩| 欧美色欧美亚洲高清在线视频| 理论片中文字幕在线观看 | 大黑人xxx| 日本老头变态xxxx| swag剧情系列在线观看| 日本bbw搡bbbb搡bbbb| 高清不卡毛片免费观看| 低头看我是怎么c哭你的| 91久久麻豆| 美女把尿口扒开让男人添| 免费日韩三级| 欧美亚洲一区二区三区| 免费日韩三级| 国产v亚洲v欧美v专区| 国产高清免费在线观看|