【发布时间】:2015-09-02 11:39:18
【问题描述】:
我有一个使用 python 记录器的 uWSGI / Flask 设置。尽管只有一些工人的日志才能到达日志,但一段时间后,甚至那些根本就不再出现了。我的假设是,当 uWSGI 重新启动(克隆)worker 时,日志记录会以某种方式被破坏。有什么想法吗?
app/server.py:
app = Flask(...)
handler = logging.StreamHandler()
app.logger.addHandler(handler)
app.run()
uWSGI:
uwsgi --emperor /etc/uwsgi/apps-enabled/*.ini --die-on-term --uid www-data --gid www-data --logto /var/www/app.com/logs/uwsgi/emperor.log --socket /tmp/uwsgi/emperor.sock --enable-threads --master --single-interpreter --log-reopen --chmod-socket=770
apps-enabled/app-0.ini 和 apps-enabled/app-1.ini 如下所示:
module=server:app
enable-threads=true
single-interpreter=true
master=true
chdir=/var/www/app.com/app
env=APPLICATION_ENVIRONMENT=production
venv=/var/www/app.com/virtualenv
logto=/var/www/app.com/logs/uwsgi/app.com-0.log
log-reopen=true
chmod-socket=770
buffer-size=65535
lazy-apps=true
max-requests=5000
heartbeat=15
for=0 1 2 3 4 5 6 7
socket=/tmp/uwsgi/app.0.%(_).sock
endfor=
processes=8
map-socket=0:1
map-socket=1:2
map-socket=2:3
map-socket=3:4
map-socket=4:5
map=socket=5:6
map=socket=6:7
map=socket=7:8
我也尝试使用SysLogHandler 获得相同的结果。
【问题讨论】:
-
我遇到了同样的问题。一段时间后,没有任何记录。我正在使用烧瓶/uwsgi/nginx。
-
嗨,你解决了这个问题了吗?从昨天开始遇到同样的问题,但无处可去!
-
@bool.dev,我还没有找到解决方案。最后恢复到默认的 uwsgi 日志记录。
-
酷,你能告诉我你的默认uwsgi日志到底是什么意思吗?
-
我正在使用
TimedRotatingFileHandler,它工作得非常好。如果您提供更多详细信息,我可以帮助您吗
标签: python logging flask uwsgi