<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Logging日志

      日志處理logging

      一、日志輸出

      1. 日志默認的輸出等級為:waring級別及以上的等級

      2. 修改日志的默認輸出等級通過logging.basicConfig(level='INFO')

      3. 記錄日志打印時間:logging.basicConfig(format=console_fmt)

        console_fmt = "%(name)s--->%(levelname)s--->%(asctime)s--->%(message)s--->%(lineno)d"

        • %(name)s 名字
        • %(levelname)s 日志級別
        • %(asctime)s 打印時間,年月日十分秒
        • %(message)s 日志中的信息
        • %(lineno)d 報錯日志在代碼中第幾行
      4. logging.basicConfig(format=console_fmt,level='INFO')

      # -*- coding: utf-8 -*-
      
      import logging
      
      logger = logging.getLogger(__name__)
      console_fmt = "%(name)s--->%(levelname)s--->%(asctime)s--->%(message)s--->%(lineno)d"
      
      logging.basicConfig(level="INFO",format=console_fmt)
      
      logging.debug("debug")
      logging.info("info")
      logging.warning("warning")
      logging.error("error")
      logging.critical("critical")
      

      二、日志輸出到控制臺

      # Time:2022 2022/3/1 17:20
      # Author: Jasmay
      # -*- coding: utf-8 -*-
      
      import logging
      
      # 第一步:創(chuàng)建日志器對象,默認等級為warning
      logger = logging.getLogger("這是我的一個小測試日志")
      logging.basicConfig(level="INFO")
      
      # 第二步:創(chuàng)建控制臺日志處理器
      console_handler = logging.StreamHandler()
      
      # 第三步:設置控制臺日志的輸出級別,需要日志器也設置日志級別為info;----根據(jù)兩個地方的等級進行對比,取日志器的級別
      console_handler.setLevel(level="WARNING")
      
      # 第四步:設置控制臺日志的輸出格式
      console_fmt = "%(name)s--->%(asctime)s--->%(message)s--->%(lineno)d"
      fmt1 = logging.Formatter(fmt=console_fmt)
      console_handler.setFormatter(fmt=fmt1)
      
      # 第五步:將控制臺日志器,添加進日志器對象中
      logger.addHandler(console_handler)
      
      
      logger.debug("---debug")
      logger.info("---info")
      logger.warning("---warning")
      logger.error("---error")
      logger.critical("---critical")
      

      三、輸出到日志文件

      # Time:2022 2022/3/1 17:44
      # Author: Jasmay
      # -*- coding: utf-8 -*-
      
      # Time:2022 2022/3/1 17:20
      # Author: Jasmay
      # -*- coding: utf-8 -*-
      
      import logging
      
      # 第一步:創(chuàng)建日志器對象,默認等級為warning
      logger = logging.getLogger("這是我的一個小測試日志")
      logging.basicConfig(level="INFO")
      
      # 第二步:創(chuàng)建文件日志處理器
      file_handler = logging.FileHandler("./log.txt",mode="a",encoding="utf-8")
      
      # 第三步:設置控制臺日志的輸出級別,需要日志器也設置日志級別為info;----根據(jù)兩個地方的等級進行對比,取日志器的級別
      
      
      # 第四步:設置控制臺日志的輸出格式
      file_fmt = "%(name)s--->%(levelname)s--->%(asctime)s--->%(message)s"
      
      fmt2 = logging.Formatter(fmt = file_fmt)
      
      file_handler.setFormatter(fmt = fmt2)
      
      # 第五步:將文件日志器,添加進日志器對象中
      logger.addHandler(file_handler)
      
      
      
      logger.debug("---debug")
      logger.info("---info")
      logger.warning("---warning")
      logger.error("---error")
      logger.critical("---critical")
      

      四、同時輸出到控制臺+文件

      # Time:2022 2022/3/1 17:20
      # Author: Jasmay
      # -*- coding: utf-8 -*-
      
      import logging
      
      # 第一步:創(chuàng)建日志器對象,默認等級為warning
      logger = logging.getLogger("這是我的一個小測試日志")
      logging.basicConfig(level="INFO")
      
      # 第二步:創(chuàng)建控制臺日志處理器+文件日志處理器
      console_handler = logging.StreamHandler()
      file_handler = logging.FileHandler("./log.txt",mode="a",encoding="utf-8")
      
      # 第三步:設置控制臺日志的輸出級別,需要日志器也設置日志級別為info;----根據(jù)兩個地方的等級進行對比,取日志器的級別
      console_handler.setLevel(level="WARNING")
      
      # 第四步:設置控制臺日志和文件日志的輸出格式
      console_fmt = "%(name)s--->%(levelname)s--->%(asctime)s--->%(message)s--->%(lineno)d"
      file_fmt = "%(lineno)d--->%(name)s--->%(levelname)s--->%(asctime)s--->%(message)s"
      
      fmt1 = logging.Formatter(fmt = console_fmt)
      fmt2 = logging.Formatter(fmt = file_fmt)
      
      console_handler.setFormatter(fmt = fmt1)
      file_handler.setFormatter(fmt = fmt2)
      
      # 第五步:將控制臺日志器、文件日志器,添加進日志器對象中
      logger.addHandler(console_handler)
      logger.addHandler(file_handler)
      
      
      
      logger.debug("---debug")
      logger.info("---info")
      logger.warning("---warning")
      logger.error("---error")
      logger.critical("---critical")
      

      五、日志類:將日志輸出到控制臺+文件

      # Time:2022 2022/3/2 10:21
      # Author: Jasmay
      # -*- coding: utf-8 -*-
      import logging
      
      class Logger():
          def __init__(self,level="DEBUG"):
              # 創(chuàng)建日志器對象
              self.logger = logging.getLogger(__name__)
              self.logger.setLevel(level)
      
          def console_handler(self,level="DEBUG"):
              # 創(chuàng)建控制臺的日志處理器
              console_handler = logging.StreamHandler()
              console_handler.setLevel(level)
      
              # 處理器添加輸出格式
              console_handler.setFormatter(self.get_formatter()[0])
      
              # 返回控制器
              return console_handler
      
          def file_handler(self, level="DEBUG"):
              # 創(chuàng)建文件的日志處理器
              file_handler = logging.FileHandler("./log.txt",mode="a",encoding="utf-8")
              file_handler.setLevel(level)
      
              # 處理器添加輸出格式
              file_handler.setFormatter(self.get_formatter()[1])
      
              # 返回控制器
              return file_handler
      
          def get_formatter(self):
              """格式器"""
      
              console_fmt = logging.Formatter(fmt="%(name)s--->%(levelname)s--->%(asctime)s--->%(message)s")
              file_fmt = logging.Formatter(fmt="%(lineno)d--->%(name)s--->%(levelname)s--->%(asctime)s--->%(message)s")
      
              # 返回的是一個元組
              return console_fmt,file_fmt
      
          def get_log(self):
              # 日志器中添加控制臺處理器
              self.logger.addHandler(self.console_handler())
              # 日志器中添加文件處理器
              self.logger.addHandler(self.file_handler())
      
              # 返回日志實例對象
              return self.logger
      

      六、調(diào)用日志類:將日志輸出到控制臺+文件

      # Time:2022 2022/3/2 10:45
      # Author: Jasmay
      # -*- coding: utf-8 -*-
      from common.logone import Logger
      
      class TestLog():
          def __init__(self):
              log = Logger()
              self.logger = log.get_log()
          def test_baili_01(self):
              self.logger.info("開始執(zhí)行")
              self.logger.warning("結束執(zhí)行")
      
      # 實例化
      test  = TestLog()
      # 調(diào)用類中的方法
      test.test_baili_01()
      
      posted @ 2024-08-26 21:14  小鄭[努力版]  閱讀(117)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 国产高清国产精品国产专区| 国产日韩综合av在线| 人成午夜免费视频在线观看| 日韩精品无码免费专区午夜不卡| 熟妇人妻久久精品一区二区| 久久精品一本到99热免费| 制服丝袜美腿一区二区| 四虎精品国产精品亚洲精| 人妻少妇精品视频三区二区| 偷拍精品一区二区三区| 在线高清免费不卡全码| 国产自产av一区二区三区性色| 国产亚洲欧美在线观看三区| 丁香婷婷激情综合俺也去| 亚洲高清国产成人精品久久| 性色欲情网站iwww九文堂| 国产熟睡乱子伦视频在线播放| 熟妇的奶头又大又长奶水视频 | 亚洲av成人一区在线| 日韩av一区二区高清不卡| 一出一进一爽一粗一大视频| 国产成人无码AV片在线观看不卡| 精品久久综合日本久久网| 国产精品亚洲А∨天堂免下载| 熟女一区二区中文字幕| 亚洲国产一区二区三区| 国产日韩精品秘 入口| 国产午夜A理论毛片| 亚洲av无在线播放中文| 国产成人无码免费视频在线 | 资溪县| 少妇伦子伦情品无吗| 久在线视频播放免费视频| 亚洲熟妇色xxxxx亚洲| 日韩高清不卡免费一区二区| 国产一区二区不卡在线| 广州市| 亚洲欧洲一区二区精品| 2020年最新国产精品正在播放| 亚洲国产精品无码观看久久| 国产精品第一二三区久久|