2015-04-22 51 views
0

我使用foremana Vagrant VM运行gunicorn。当我配置虚拟机时,我有工头作为最后一个项目启动,但这会使其记录到stdout。我更喜欢它登录到日志文件并将终端发布给我。那么,如果我想看到领班日志,我可以tail这个文件。如何阻止工头记录到stdout?

我觉得我一定错过了什么,因为这不是声音像一个困难的事情,但我很难过。我现在必须取消两次,才能摆脱工头日志记录,这对配置来说是一个混乱的结局!

回答

1

您的Procfile中的条目只是运行命令,您可以像在命令行中那样修改它们。

所以,你可以重定向所有标准输出为你的麒麟过程到/ dev/null的

或用2>&1像重定向所有输出的过程:

web: gunicorn myproject.wsgi 2>&1 

为了领班释放终端回到你需要在后台运行它:

foreman & 
+0

我不能解决如何做到这一点。如果我的Procfile中的一个命令是'web:gunicorn myproject.wsgi>/dev/null',我仍然会输出到屏幕上。我试过把它引导到一个文件(但是得到一个空文件)。我也尝试使用gunicorn的'--access-logfile'和'--error-logfile'设置:一些输出到这些文件,但我仍然得到一些输出到屏幕。 –

+0

你也可能会得到stderr输出。这个答案可能会给你几个选项来重定向绝对所有输出:http://stackoverflow.com/questions/6674327/redirect-all-output-to-file – Shadwell

+0

更紧密,谢谢...我现在可以发送所有输出到一个文件,但我仍然得到一个最初的行('08:30:55 web.1 |以pid 21968'开始),工头不会将终端释放给我。我仍然需要Ctrl-C才能摆脱它。 –