zoukankan      html  css  js  c++  java
  • (三) flask + logging 加入日志记录功能

    方法一,直接使用loggin 模块

    import logging
    from flask import Flask
    from flask_cors import CORS
    from flask_sqlalchemy import SQLAlchemy
    
    import config    
    
    # 创建db
    db = SQLAlchemy()
    # 设置
    logger = logging.getLogger('gunicorn.info')
    handler = logging.FileHandler('test.log', encoding='UTF-8')   # 设置日志字符集和存储路径名字
    logging_format = logging.Formatter(                            # 设置日志格式
            '%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s')
    handler.setFormatter(logging_format) # 绑定格式
    logger.addHandler(handler)
    logger.setLevel(logging.ERROR)
    
    def create_app():
        app = Flask(__name__)
        app.config.from_object(config)
        CORS(app, resources=r'/*')
        db.init_app(app)
        from . import myRoutes
        myRoutes.register(app)
        return app
    
    APP = create_app()
    

      使用

    from app.model.user import Users
    from app.utils.errcode import ReturnValue
    from app import dash
    
    
    def index():
        dash.logger.error('info log')
        users =  Users.query.filter().first()
        return ReturnValue.set_value(success=False, status="no_login", data=users.username)
    

      文件内容:

    方法二, 结合flask 的logger

    import logging
    from flask import Flask
    from flask_cors import CORS
    from flask_sqlalchemy import SQLAlchemy
    
    import config    
    
    # 创建db
    db = SQLAlchemy()
    
    def create_app():
        app = Flask(__name__)
        app.config.from_object(config)
        CORS(app, resources=r'/*')
        db.init_app(app)
        # handler = logging.FileHandler('flask.log')
        handler = logging.FileHandler('flask.log', encoding='UTF-8')   # 设置日志字符集和存储路径名字
        logging_format = logging.Formatter(                            # 设置日志格式
            '%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s')
        handler.setFormatter(logging_format)
        app.logger.addHandler(handler)
        from . import myRoutes
        myRoutes.register(app)
        return app
    
    APP = create_app()
    

      使用:

    from app.model.user import Users
    from app.utils.errcode import ReturnValue
    from app import dash
    
    
    def index():
        dash.APP.error('info log')
        users =  Users.query.filter().first()
        return ReturnValue.set_value(success=False, status="no_login", data=users.username)
    

      

  • 相关阅读:
    提权小结
    《将博客搬至CSDN》
    http数据流分析
    web安全之路
    nmap原理及用法
    web渗透测试思路浅谈-----漏洞发现及利用
    web渗透测试思路浅谈-----信息收集
    渗透测试实战-Android4靶机
    从外网到内网漫游
    一次完整内网渗透
  • 原文地址:https://www.cnblogs.com/ShanCe/p/14237128.html
Copyright © 2011-2022 走看看