91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

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

      手機(jī)站
      千鋒教育

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

      千鋒教育

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

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

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

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

      Python之logging模塊重定向

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

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

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

      console=logging.StreamHandler()

      console.setLevel(logging.INFO)

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

      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),運(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)建三個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')

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

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