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)
      
  • 相关阅读:
    谷歌地图嵌入配置及代码生成器
    Easyui几种布局方式的使用
    9款超酷的jQuery/CSS3插件
    8款功能强大的最新HTML5特效实例
    《大话操作系统——做坚实的project实践派》(2)
    1、libgdx简单介绍
    自己定义Android Dialog
    纪念2014 TI DSP大奖赛
    LeetCode 96:Unique Binary Search Trees
    Chromium网页输入事件捕捉和手势检測过程分析
  • 原文地址:https://www.cnblogs.com/bigox/p/10796661.html
Copyright © 2011-2022 走看看