文章目录
显示
一、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
有效果。
这个日志效果可以给我开发时方便的排查问题,
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)
可以看到日志都打印出來了,這就是關於日志級別的介紹
二、flask錯誤處理器
当flask
框架发生错误的时候,需要将错误捕獲住,然后将错误进行日志输出,或者进行更友好的提示,为更好的提供用户体验,flask.Flask.errorhandle
可以提供处理
打开官方文档,搜索error
也可以找到这些接口的介绍。
@app.errorhandler(404)
def page_not_fount(error):
return 'This page does not exist', 404
我們也可以將這個檢測到的錯誤通過日志輸出:
@app.errorhandler(404)
def page_not_fount(error):
app.logger.error(error)
return 'This page does not exist', 404
结果
错误处理在web端
是非常常用的,在我们处理后端页面搭建的时候,用到非常的多。