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

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

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

            關(guān)注千鋒學習站小程序
            隨時隨地免費學習課程

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

            Python之logging模塊重定向

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

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

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

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

            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(默認為標準錯誤)

            console=logging.StreamHandler()

            console.setLevel(logging.INFO)

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

            console.setFormatter(formatter)

            logging.getLogger().addHandler(console)

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

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

            [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)建三個Logger:root,將所有日志輸出至控制臺;Logger2F,將所有日志寫入文件;Logger2CF,將級別大于或等于INFO的日志輸出至控制臺,將級別大于或等于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')

            運行后屏幕上顯示:

            [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)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。

            tags: python培訓
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學 138****2860 剛剛成功領(lǐng)取
            王同學 131****2015 剛剛成功領(lǐng)取
            張同學 133****4652 剛剛成功領(lǐng)取
            李同學 135****8607 剛剛成功領(lǐng)取
            楊同學 132****5667 剛剛成功領(lǐng)取
            岳同學 134****6652 剛剛成功領(lǐng)取
            梁同學 157****2950 剛剛成功領(lǐng)取
            劉同學 189****1015 剛剛成功領(lǐng)取
            張同學 155****4678 剛剛成功領(lǐng)取
            鄒同學 139****2907 剛剛成功領(lǐng)取
            董同學 138****2867 剛剛成功領(lǐng)取
            周同學 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT