国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(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

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

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

            通過對(duì)多個(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,將級(jí)別大于或等于INFO的日志輸出至控制臺(tái),將級(jí)別大于或等于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模塊重定向,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請(qǐng)您保持通訊暢通,專屬學(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
            Python 基本語句

            1.條件語句在進(jìn)行邏輯判斷時(shí),我們需要用到條件語句,Python提供了if、elif、else來進(jìn)行邏輯判斷。格式如下所示:if判斷條件1:執(zhí)行語句1...elif...詳情>>

            2023-11-07 22:30:23
            Python重命名和刪除文件

            python的os模塊提供了幫你執(zhí)行文件處理操作的方法,比如重命名和刪除文件。要使用這個(gè)模塊,你必須先導(dǎo)入它,然后才可以調(diào)用相關(guān)的各種功能。re...詳情>>

            2023-11-07 20:49:35
            python 序列化及其相關(guān)模塊

            什么是序列化對(duì)象?我們把對(duì)象(變量)從內(nèi)存中編程可存儲(chǔ)或傳輸?shù)倪^程稱之為序列化,在python中稱為pickle,其他語言稱之為serialization,marshal...詳情>>

            2023-11-07 20:42:23
            python生成器函數(shù)

            為什么叫生成器函數(shù)?因?yàn)樗S著時(shí)間的推移生成了一個(gè)數(shù)值隊(duì)列。一般的函數(shù)在執(zhí)行完畢之后會(huì)返回一個(gè)值然后退出,但是生成器函數(shù)會(huì)自動(dòng)掛起,然...詳情>>

            2023-11-07 20:31:35
            python 字典操作方法詳解

            字典是一種通過名字或者關(guān)鍵字引用的得數(shù)據(jù)結(jié)構(gòu),key類型需要時(shí)被哈希,其鍵可以是數(shù)字、字符串、元組,這種結(jié)構(gòu)類型也稱之為映射。字典類型是P...詳情>>

            2023-11-07 20:09:59