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)
      
  • 相关阅读:
    win10下vs2015配置Opencv3.1.0过程详解
    Int16, Int32, Int64 范围
    Microsoft Language and Locale Codes(微软语言和地区代码汇总)
    Azure china服务状态报告查看网址
    Azure IOT (EventHub + Stream Analytics + Table Storage)的使用
    java 继承extends 的相关知识点
    final
    java 垃圾回收机制
    Java 抽象类
    重载与重写、多态——java
  • 原文地址:https://www.cnblogs.com/bigox/p/10796661.html
Copyright © 2011-2022 走看看