log_utils.py 592 B

12345678910111213141516171819202122232425
  1. # log_utils.py
  2. import logging
  3. from io import StringIO
  4. from flask import g
  5. def init_request_logging(logger):
  6. # 创建内存缓冲区
  7. g.log_stream = StringIO()
  8. # 创建自定义日志处理器
  9. handler = logging.StreamHandler(g.log_stream)
  10. handler.setFormatter(logging.Formatter(
  11. '%(asctime)s [%(levelname)s] %(message)s'
  12. ))
  13. # 临时添加到logger
  14. g.log_handler = handler
  15. logger.addHandler(handler)
  16. def teardown_request_logging(response, logger):
  17. if hasattr(g, 'log_handler'):
  18. logger.removeHandler(g.log_handler)
  19. return response