如何获得永久打印subprocess输出到标准输出。

我在Docker容器中永远运行节点应用程序,如何获取所有console.log输出以显示在控制台上? 我是docker的初学者,所以我认为用dockerlogin的最好方法就是简单地login到stdout。 如果有更好的更正确的方法来做到这一点,我打开替代解决scheme。

forever像标准node ,只需login到标准输出,所以你不应该做任何特别的事情。 当然,如果你用docker run -d启动你的容器,你将不得不运行docker logs -f myNodeContainer来实时看到输出结果。

我刚刚遇到这个问题,因为我也第一次永远安装,运行它只是forever server.js和…什么都没有。

没有节点控制台消息,只是关于没有 – minUptime和没有 – spinSleepTime的警告。 我永远停止使用forever stopall停止的进程,并去寻找日志。 果然,在永远的日志是从我的服务器的所有标准输出。

我以为我错过了一个选项,打印到标准输出,但显然不是。 读完这个SO问题之后,我启动一个新的terminal,再次运行它并且工作 – 它现在将我的服务器消息logging到控制台。

从那以后,我也经历了很多奇怪的问题。 就像它不断重启脚本一样,尽pipe脚本在1000ms内无法启动(其中一个文件有语法错误) – 我停下来,再次永远运行(相同的选项,相同的源文件),它做它应该做的到(只运行脚本一次)。

不是一个真正的答案(对不起),但这是为了防止任何人寻求信息。