zoukankan      html  css  js  c++  java
  • 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)
      
  • 相关阅读:
    去除Html标签
    asp.net弹出多个模态窗口
    window.returnValue的用法
    eTerm-用于报价的指令(GK状态码的使用)
    使用ffmpeg 操作音频文件前后部分静音移除.
    使用Visual Studio 2017开发python,并在iis上部署Python Django
    解决wampserver 服务无法启动
    网站优化记录-通过命令预编译Asp.net 网站,成功优化到毫秒级别。
    Scut游戏引擎改造兼容Codis。
    windows修改Host后未生效。
  • 原文地址:https://www.cnblogs.com/bigox/p/10796661.html
Copyright © 2011-2022 走看看