Python flask实战订餐系统微信小程序-11flask日志系统和錯誤處理器

wechat xuhss 552℃ 0评论

一、flask日志系统

每个应用必不可以少的就是日志系统。日志输出是为了定位问题的需要,Flask本身已经提供了日志系统的封装
说明文档里面有一个日志记录:

app.logger.error(msg)
from flask import Flask, url_for
from common.libs import UrlManager
# from xuhss import route_xuhss
app = Flask(__name__)
# app.register_blueprint(route_xuhss, url_prefix="/xuhss")

@app.route('/')
def hello_world():
    url = url_for("index")
    url_1 = UrlManager.UrlManager.buildUrl("/api")
    url_2 = UrlManager.UrlManager.buildStaticUrl("/css/bootstrap.css")
    msg = "Hello World,url:%s,url1:%s,url2:%s" % (url, url_1, url_2)
    app.logger.error(msg)
    return msg

@app.route('/api')
def index():
    return  'Index Page'

@app.route('/api/hello')
def hello():
    return  'Hello World'

if __name__ == '__main__':
    app.run()

测试环境已经关闭了Debug:off
生产环境只有error有效果。

20210713191254 - Python flask实战订餐系统微信小程序-11flask日志系统和錯誤處理器

这个日志效果可以给我开发时方便的排查问题,

if __name__ == '__main__':
    app.run(debug=True)

添加輸出:

def hello_world():
    url = url_for("index")
    url_1 = UrlManager.UrlManager.buildUrl("/api")
    url_2 = UrlManager.UrlManager.buildStaticUrl("/css/bootstrap.css")
    msg = "Hello World,url:%s,url1:%s,url2:%s" % (url, url_1, url_2)
    app.logger.error(msg)
    app.logger.info(msg)
    app.logger.debug(msg)

20210713193319 - Python flask实战订餐系统微信小程序-11flask日志系统和錯誤處理器

可以看到日志都打印出來了,這就是關於日志級別的介紹

二、flask錯誤處理器

flask框架发生错误的时候,需要将错误捕獲住,然后将错误进行日志输出,或者进行更友好的提示,为更好的提供用户体验,flask.Flask.errorhandle可以提供处理
打开官方文档,搜索error也可以找到这些接口的介绍。

@app.errorhandler(404)
def page_not_fount(error):
    return 'This page does not exist', 404

20210713195218 - Python flask实战订餐系统微信小程序-11flask日志系统和錯誤處理器

我們也可以將這個檢測到的錯誤通過日志輸出:

@app.errorhandler(404)
def page_not_fount(error):
    app.logger.error(error)
    return 'This page does not exist', 404

结果

20210713200101 - Python flask实战订餐系统微信小程序-11flask日志系统和錯誤處理器

错误处理在web端是非常常用的,在我们处理后端页面搭建的时候,用到非常的多。

转载请注明:xuhss » Python flask实战订餐系统微信小程序-11flask日志系统和錯誤處理器

喜欢 (10)

您必须 登录 才能发表评论!