• logging 日志模块


    logging(日志模块)

    • 快速编写格式(扩展性不强)

      import logging
      import requests
      
      # 日志配置
      logging.basicConfig(
          filename='log.log',
          format=' %(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
          datefmt='%Y-%m-%d %H:%M:%S %p',
          level=logging.ERROR)
      # 异常处理
      try:
          requests.get('http://www.xxx.com')
      except Exception  as e:
          mes = str(e)
          # 日志生成
          logging.error(mes, ext_info=True)    #ext_info=True保存堆栈信息
      
    • 推荐编写方式

      import logging
      file_hander = logging.FileHandler(filename='log.log',mode='a',encoding='utf-8',)
      logging.basicConfig(
          format=%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
          datafmt='%Y-%m-%d %H:%M:%S %p',
          handlers=[file_handler,],
          level=logging.ERROR
      )
      
      logging.error('你好')
      
    • 更改调用机制:

      import logging
      
      def get_logger():
          file_hander = logging.FileHandler(filename='log.log',mode='a',encoding='utf-	8',)
          logging.basicConfig(
              format=%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
              datafmt='%Y-%m-%d %H:%M:%S %p',
              handlers=[file_handler,],
              level=logging.ERROR
          )
      	return logging
      logger = get_logger()
      
      
      logging.error('你好')
      
    • 推荐日志处理方式+日志切割

      import time
      import logging
      from logging import handlers
      
      file_handler = handlers.TimedRotatingFileHandler(filename='x3.log', when='s', interval=5, encoding='utf-8')
      logging.basicConfig(
          format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
          datefmt='%Y-%m-%d %H:%M:%S %p',
          handlers=[file_handler,],
          level=logging.ERROR
      )
      
      for i in range(1,100000):
          time.sleep(1)
          logging.error(str(i))
      
    • 注意事项

      # 在应用日志时,如果想要保留异常的堆栈信息。
      import logging
      import requests
      
      logging.basicConfig(
          filename='wf.log',
          format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
          datefmt='%Y-%m-%d %H:%M:%S %p',
          level=logging.ERROR
      )
      
      try:
          requests.get('http://www.xxx.com')
      except Exception as e:
          msg = str(e) # 调用e.__str__方法
          logging.error(msg,exc_info=True)
      
  • 相关阅读:
    AD预测论文研读系列2
    hdu 5795
    sg函数的应用
    二分查找
    快速幂
    筛选法素数打表
    多校hdu-5775 Bubble sort(线段树)
    多校hdu5754(博弈)
    多校hdu5738 寻找
    多校hdu5726 线段树+预处理
  • 原文地址:https://www.cnblogs.com/bigox/p/10796661.html
Copyright © 2020-2023  润新知