uwsgi - 无法在日志文件

时间:2015-06-30 18:43:04

标签: python flask uwsgi

我使用uwsgi运行一个用烧瓶写的小服务。

我这样推出:

flask/bin/uwsgi --http :9090 --master --pidfile /tmp/KVAutobus-uwsgi.pid  --processes 30 --threads 2 --wsgi-file app.py --callable app --stats :9191 --daemonize /opt/logs/KVAutobus-uwsgi.log

它似乎有效,但我在请求期间遇到了500错误,我想看到烧瓶应用程序产生的追溯但我无法找到它。我需要不同的日志选项吗?

以下是500错误后日志文件中的所有内容:

>tail /opt/logs/KVAutobus-uwsgi.log

*** Stats server enabled on :9191 fd: 135 ***
spawned uWSGI http 1 (pid: 20124)
[pid: 20060|app: 0|req: 1/1] 10.36.100.18 () {34 vars in 709 bytes} [Tue Jun 30 14:29:57 2015] DELETE /kvautobus/api/clear_cache_range/MDAwMDAwMDA1NTA0MDAwMDAwMDQwOTYwMDAwMDAwMTczMDU2/MDAwMDAwMDA1NTA0MDAwMDAwMDQwOTYwMDAwMDAwMTg0NDQ4/ => generated 291 bytes in 30023 msecs (HTTP/1.1 500) 2 headers in 84 bytes (1 switches on core 0)

2 个答案:

答案 0 :(得分:6)

好的,@ ipinak走在了正确的轨道上。看起来Flask正在吞噬错误而不是传播错误。

这是修复它的the answer I found。如果链接断开,它基本上是在您的应用中设置的:

from flask import Flask
application = Flask(__name__)
application.config['PROPAGATE_EXCEPTIONS'] = True

答案 1 :(得分:1)

我认为你不能那样做,你需要在你的应用程序中添加日志记录(这就是我所做的)。以下是您可以记录https://uwsgi-docs.readthedocs.org/en/latest/LogFormat.html?highlight=log的数据的信息。另外,我建议您删除--daemonize选项,而不是使用supervisord来进行流程控制。