如何在守护进程化的uwsgi中收集stderr的错误信息?
我用 --daemonzie=~/uwsgi.log
来运行我的 uwsgi。
我在用 Flask 框架。在我的 Flask 应用里,如果我把一些信息打印到 stdin
,这些信息会出现在 uwsgi.log
里。如果我打印到 stderr
,那么 uwsgi.log
就不会显示这些信息。我该怎么做才能让 uwsgi 收集来自 stderr
的信息呢?
主要的问题是,我无法让 uwsgi.log 收集到我在 Flask 应用中捕获异常后的错误追踪信息。
1 个回答
8
Flask会捕捉你的错误,所以你需要在配置中设置一下 PROPAGATE_EXCEPTIONS
。
from flask import Flask
application = Flask(__name__)
application.config['PROPAGATE_EXCEPTIONS'] = True
@application.route('/')
def hello_world():
return 'Hello World!'
你可以通过
--logto /var/log/uwsgi/app.log
来设置Uwsgi的日志记录,或者如果你想把 stdout
和 stderr
分开,可以使用 logto2
这个选项。
另外,你还可以设置日志记录插件(比如转发到系统日志等),不过这些插件需要在uwsgi中编译才能使用。