我有一个Opsworks堆栈,其中包含一个Node.js层和Node.js应用程序。我想知道在Ubuntu 14.04LTS实例上,我的应用程序的控制台日志被打印到哪里。我知道Opsworks使用monit运行我的应用程序,但我不确定它将日志输出到哪里。
谢谢!
谢谢!
start program = "/bin/bash -c 'cd <%= @deploy[:deploy_to] %>/current ; source <%= @deploy[:deploy_to] %>/shared/app.env ; /usr/bin/env PATH=$PATH:/usr/local/bin PORT=<%= @deploy[:nodejs][:port] %> NODE_PATH=<%= @deploy[:deploy_to] %>/current/node_modules:<%= @deploy[:deploy_to] %>/current /usr/local/bin/node <%= @monitored_script %> &> <%= @deploy[:deploy_to] %>/current/log/production.log'"
......而鲍勃的父亲是你父亲的父亲。
除非更改了console.log的行为,否则node
将输出console.log
日志到应用程序的标准输出(stdout
)。
如果您在控制台或使用ssh中运行您的node应用程序,则应在那里看到日志。
否则,尝试将应用程序的stdout重定向到文件中,以便即使在没有控制台的情况下运行它,也可以看到它,如下所示:
node myapp.js > logfile
首选的方法是使用Forever来确保您的应用程序始终处于开启状态,并且您可以将输出(包括stdout和stderr)重定向如下:
/>forever -o forever.out -e forever.err myapp.js