如何将date添加到pm2错误日志?

有没有办法给.pm2 / logs中的错误日志添加时间戳?

我注意到pm2 logs命令显示带有时间戳的聚集日志,但是查看日志文件 – 只有没有date的消息和堆栈跟踪。

在这里输入图像描述

根据这个问题和这个提交 ,你可以使用:

 pm2 start app.js --log-date-format 'DD-MM HH:mm:ss.SSS' 

其中'DD-MM HH:mm:ss.SSS'是任何momentjs有效的格式。

根据命令行帮助( pm2 logs -h )运行pm2 logs --timestamp命令应该添加时间戳到日志。 但它似乎并不影响旧的日志! 显然只有新的日志显示与时间戳。

为了解决这个问题,将--log-date-format="YYYY-MM-DD HH:mm Z"传递给pm2作为参数。 例如:

 pm2 start bin/www --log-date-format="YYYY-MM-DD HH:mm Z" 

使用process.json

我喜欢process.json为了方便起动我的应用程序,所以我的process.json包含以下内容:

 { "apps" : [ { "name" : "app", "script" : "bin/www", "log_date_format" : "YYYY-MM-DD HH:mm Z" } ] } 

然后通过运行来启动我的应用程序:

 pm2 start process.json 

一旦完成,我看到只显示运行的时间戳:pm2日志请注意,我不必指定–timestamp来查看时间戳。

 app (out): 2016-08-04 13:46 +01:00: My log here 

好读: http : //pm2.keymetrics.io/docs/usage/log-management/

我使用PM2,但我不太关心日志。 相反,我使用bunyan,这为伐木提供了很大的灵活性。 如果您使用–global安装npm,您也可以将其用作实时日志查看器:

不过,这并不会为您的console.log输出添加时间戳记。 但是,如果你转换为log.info()或任何其他Bunyan日志function,你会得到很好的日志logging。

查看与bunyan生活pm2日志,只是pipe它:

 pm2 logs | bunyan 

pm2 start app.js --log-date-format "YYYY-MM-DD HH:mm"