Supervisor捕获不到python的Print
PHP中文网
PHP中文网 2017-04-17 11:54:50
[Python讨论组]

之前用Supervisor管理自己写的Golang程序一直没问题。

使用了Supervisor管理自己的python程序,设定了conf文件:

[program:xxx]
directory = /opt/xxx/
command = /usr/bin/python /opt/xxx/xxx.py
autostart = true
startsecs = 5
user = root
redirect_stderr = true
stdout_logfile = /home/xxx/xxx.log

但是查看xxx.log一直都是空文件,是什么原因可能导致这种情况呢?如何才能记录日志到文件呢?

示例代码参见 https://github.com/surfly/gevent/blob/master/examples/echoserver.py

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
PHPz

可以试试用python -u xxx.py启动代码,这样没有缓冲

天蓬老师

但是查看xxx.log一直都是空文件,是什么原因可能导致这种情况呢?

看下系统supervisor的log,里面有什么信息。文件不存在?touch一个。还是权限问题。

stdout_logfile的路径在哪?

我一般的做法是把log放在webapps的app目录下: stdout_logfile = /webapps/example_app/logs/supervisor.log

$ mkdir -p /webapps/example_app/logs/
$ touch /webapps/example_app/logs/supervisor.log 

然后reload supervisor,restart

阿神

试试

sys.stdout.flush()

或者

command = /usr/bin/python -u /opt/xxx/xxx.py
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号