• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

安全监测系统 04 日志模块添加

武飞扬头像
熙仪繁华
帮助1

 1. 创建logging.py文件按:common/utils/logging.py

  1.  
    from flask import request
  2.  
    import logging
  3.  
    import logging.handlers
  4.  
    import os
  5.  
     
  6.  
    class RequestFormatter(logging.Formatter):
  7.  
    """
  8.  
    针对请求信息的日志格式
  9.  
    """
  10.  
    def format(self,record):
  11.  
    record.url=request.url
  12.  
    record.remote_addr=request.remote_addr
  13.  
    return super().format(record)
  14.  
     
  15.  
    def create_logger(app):
  16.  
    """
  17.  
    设置日志
  18.  
    :param app:Flask app对象
  19.  
    :return:
  20.  
    """
  21.  
    logging_file_dir=app.config['LOGGING_FILE_DIR']
  22.  
    logging_file_max_bytes=app.config['LOGGING_FILE_MAX_BYTES']
  23.  
    logging_file_backup=app.config['LOGGING_FILE_BACKUP']
  24.  
    logging_level=app.config['LOGGING_LEVEL']
  25.  
     
  26.  
    flask_console_handler = logging.StreamHandler()
  27.  
    flask_console_handler.setFormatter(logging.Formatter('%(levelname)s %(module)s %(lineno)d %(message)s'))
  28.  
     
  29.  
    request_formatter=RequestFormatter('[%(asctime)s] %(remote_addr)s requested %(url)s\n'
  30.  
    '%(levelname)s in %(module)s %(lineno)d: %(message)s')
  31.  
     
  32.  
    # #3 flask_file_handler日志处理器 向那个文件写,策略是什么?
  33.  
    flask_file_handler=logging.handlers.RotatingFileHandler(
  34.  
    filename=os.path.join(logging_file_dir,'flask.log'),
  35.  
    maxBytes=logging_file_max_bytes,
  36.  
    backupCount=logging_file_backup
  37.  
    )
  38.  
    # 4 flask_file_handler日志处理器 向文件写的格式是什么?
  39.  
    flask_file_handler.setFormatter(request_formatter)
  40.  
     
  41.  
    #1 获取日志器
  42.  
    log_flask_app=logging.getLogger('flask.app')
  43.  
    # 2.增加处理器
  44.  
    log_flask_app.addHandler(flask_file_handler)
  45.  
    log_flask_app.setLevel(logging_level)
  46.  
     
  47.  
     
学新通

2. 对创建flask app的工厂函数 增加配置日志:

/__init__.py

  1.  
    # 配置日志
  2.  
    from utils.logging import create_logger
  3.  
    create_logger(app)

学新通

 运行测试:

编写好运行环境后,启动

错误信息:表示在服务器中没有找到文件夹,需要我们手动创建存放日志的文件夹

学新通

 创建日志文件夹:

学新通

 再次运行:成功

学新通

查看是否在指定路径下创建了日志器:flask.log

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfhice
系列文章
更多 icon
同类精品
更多 icon
继续加载