Flask教程--第一個Flask應用:日誌

爲什麼使用日誌

記錄重要信息,方便排查問題。

在Flask中使用日誌

Flask中用於記錄日誌的是app.logger(app即Flask的實例),app.logger封裝了Python內置的模塊logging。當然,也可以在Flask直接使用Python內置模塊logging記錄日誌。

@app.route('/login', methods=['POST'])
def login():
    user = get_user(request.form['username'])

    if user.check_password(request.form['password']):
        login_user(user)
        app.logger.info('%s logged in successfully', user.username)
        return redirect(url_for('index'))
    else:
        app.logger.info('%s failed to log in', user.username)
        abort(401)

在Flask中配置日誌

可以使用Python的dictConfig()配置日誌。示例:

# -*- coding:utf-8 -*-

from flask import Flask
from logging.config import dictConfig

dictConfig({
    'version': 1,
    'formatters': {'default': {
        'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s',
    }},
    'handlers': {'wsgi': {
        'class': 'logging.StreamHandler',
        'stream': 'ext://flask.logging.wsgi_errors_stream',
        'formatter': 'default'
    }},
    'root': {
        'level': 'INFO',
        'handlers': ['wsgi']
    }
})

app = Flask(__name__)


@app.route('/')
def index():
    app.logger.info("visit index")
    return "Hello World"

 

參考資料

[1]Flask官方文檔logging: https://flask.palletsprojects.com/en/1.1.x/logging/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章