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)
    

      

  • 相关阅读:
    java基础问题1
    基本数据类型,string类型的瞎扯,final喜欢干的事儿。final string
    关于区块链不懂的东西
    需求更新表属性
    用户体验——响应时间
    后台运行任务nohup xxxxxx &
    jenkins打包maven工程发现有些包下载不下来
    jenkins复选框插件Extended Choice Parameter plugin
    jmeter上传文件tips
    airflow 简介
  • 原文地址:https://www.cnblogs.com/ShanCe/p/14237128.html
Copyright © 2011-2022 走看看