过将FLASK_ENV环境变量设置为,以开发模式运行development。未处理的错误将在终端和浏览器中显示堆栈跟踪,而不是一般的500错误页面。
export FLASK_ENV=development # use `set` on Windows
flask run
在Flask 1.0之前,请FLASK_DEBUG=1
改用。
如果你仍在使用app.run
(在Flask 0.11中不再推荐),请通过debug=True
。
if __name__ == '__main__':
app.run(debug=True)
在生产中,你不想在调试模式下运行你的应用程序。相反,你应该将错误记录到文件中。
Flask使用标准的Python日志记录库,可以将其配置为记录错误。插入以下内容以将Flask的日志消息发送到文件。
import logging
handler = logging.FileHandler('/path/to/app.log') # errors logged to this file
handler.setLevel(logging.ERROR) # only log errors and above
app.logger.addHandler(handler) # attach the handler to the app's logger