为了账号安全,请及时绑定邮箱和手机立即绑定

Flask应用程序回溯未显示在服务器日志中

/ 猿问

Flask应用程序回溯未显示在服务器日志中

ITMISS 2019-09-13 15:10:14

Flask应用程序回溯未显示在服务器日志中

我用uWSGI和nginx运行我的Flask应用程序。有500错误,但回溯没有出现在浏览器或日志中。如何从Flask记录回溯?

uwsgi --http-socket 127.0.0.1:9000 --wsgi-file /var/webapps/magicws/service.py --module service:app --uid www-data --gid www-data --logto /var/log/magicws/magicapp.log

uWSGI日志仅显示500状态代码,而不是回溯。nginx日志中也没有任何内容。

[pid: 18343|app: 0|req: 1/1] 127.0.0.1 () {34 vars in 642 bytes} 
[Tue Sep 22 15:50:52 2015] 
GET /getinfo?color=White => generated 291 bytes in 64 msecs (HTTP/1.0 500) 
2 headers in 84 bytes (1 switches on core 0)


查看完整描述

3 回答

?
倚天杖

通过将FLASK_ENV环境变量设置为,在开发模式下运行development。未处理的错误将在终端和浏览器中显示堆栈跟踪,而不是通用500错误页面。

export FLASK_ENV=development  # use `set` on Windowsflask 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 filehandler.setLevel(logging.ERROR)  # only log errors and aboveapp.logger.addHandler(handler)  # attach the handler to the app's logger

阅读有关Python 日志记录模块的更多信息 特别是您可能希望更改记录错误的位置,或更改级别以记录错误。

Flask提供了有关配置日志记录和处理错误的文档。



查看完整回答
反对 回复 2019-09-16
?
慕仰8121524

您可以FLASK_DEBUG=1在将应用程序作为服务运行时设置环境变量。暂时只执行此操作,并注意在生产服务器上启用调试模式是一个安全问题。

Upstart(默认在Ubuntu 14.04中)

# /etc/init/uwsgiapp.confenv FLASK_DEBUG=1script  // upstart exec section
end script

Systemd(默认在Ubuntu 16.04,Arch)

[Service]Environment="FLASK_DEBUG=1"# other parts

Supervisord

[program:flask]environment=FLASK_DEBUG=1

通常情况下,日志会在某处/var/log/



查看完整回答
反对 回复 2019-09-16
?
慕圣8478803

您可以使用Flask-Debug扩展作为替代方案。当然,永远不应该在生产中启用它。

from flask import Flaskfrom flask_debug import Debugapp = Flask(__name__)Debug(app)app.run(debug=True)

接下来,转到http:// localhost:5000 / _debug以预览日志。

flask-appconfig> = 0.10支持在开发时自动初始化Flask-Debug,允许您从自己的代码(以及生产部署)中完全省略它。



查看完整回答
反对 回复 2019-09-16

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信