我在我的节点应用程序中有一些有用的日志记录,我写入 console.log
node server.js >> /var/log/nodeserver.log 2>&1
但是,在 pm2 下尝试相同时:
pm2 start server.js >> /var/log/pm2server.log 2>&1
日志文件仅显示 pm2 启动信息
是否可以使用 pm2 进行应用程序日志记录?在他们的页面上,他们讨论了日志记录,并显示了一个像 "log message from echo.js"
这样的文本的图像,但我没有看到将自定义信息输入 pm2 日志 .
4 回答
当使用pm2运行时,您的应用程序日志将驻留在
$HOME/.pm2/logs
中,如here所述 . 使用输出console.log('test')
的简单index.js
文件在本地验证注意我在这里看不到
console.log
输出, but ,如果我导航到$HOME/.pm2/logs
我看到了一个漂亮的功能是在终端中使用logs功能:
这将直播所有日志 . 其他方便的命令是:
pm2 flush
pm2 reloadLogs
2017年更新 .
执行pm2命令时,将日志路径定义为参数(
-l
,-o
,-e
)非常容易使用,通常是最佳选择 .但是,如果您不想在每次执行pm2时定义日志路径,则可以生成配置文件,定义
error_file
和out_file
,并从中启动pm2:pm2 ecosystem simple
. 这将生成一个文件ecosystem.config.js
,其中包含以下内容:error_file
(用于错误日志)和out_file
(用于信息日志),例如:这样,日志将保存到
./err.log
和./out.log
.有关详细信息,请参阅document .
如果是新的开始,你只需:
但是当它已经开始(pm2已经管理它)你必须做(有人可以找到更好的方法,但这适用于我):
run "pm2 delete your_app"
运行"pm2 start"