javascript - PM2 记录到带有时间戳的文件
问题描述
目前,我有一个 NodeJS 程序,它像许多 NodeJS 程序一样将大量信息记录到控制台。我想知道是否有一种方法可以为登录到控制台的所有内容提供输出日志,该文件以创建的时间戳命名。
我一直在网上研究保存日志的方法,到目前为止我已经能够找到重定向,例如node app.js > logs/bot.log
. 虽然这很好用,但我需要 pm2 以便重新启动任何崩溃但我无法找到如何使 pm2 具有时间戳日志。我发现 pm2 可以有日志,但我很难弄清楚如何根据我的需要修复它们。
不需要太多代码来显示这一点,但我只需要将控制台中的所有消息都记录到文件中。
console.log("Sometimes, I dream about cheese...");
理想情况下,我希望将它和之前的所有其他日志保存到文件夹( )bot.log
内的一个文件中。logs
/logs/bot.log
我希望我能够获得帮助,将带有时间戳的日志保存为已打印到控制台的所有内容的名称,虚拟制作控制台的副本,以便以后可以访问以进行调试等。谢谢寻求帮助!
解决方案
PM2 确实记录到文件。
您可以使用以下命令查看特定或所有应用程序的日志:
# Display option for pm2 logs command
pm2 logs -h
# Display all apps logs
pm2 logs
# Display only `api` application logs
pm2 logs api
# Display X lines of api log file
pm2 logs big-api --lines 1000
您还可以指定输出和错误日志的路径
pm2 start yourapp.js --output /logs/bot.log --error /logs/boterror.log
这里还有更多用于管理大型日志文件的日志轮换:http: //pm2.keymetrics.io/docs/usage/log-management/
如果您需要更多帮助,您可以更具体一点
推荐阅读
- python - 如果 pandas df 中的方程,whta 等于 excel 计数
- python - python-docx将图片放在表格中的问题
- r - 按日期将数据从较高的时间范围分解到具有滞后的较低时间范围
- azure - Azure API 管理 SOAP 到 REST
- microchip - MPLAB IDE 3.55,项目标题显示不正确
- python-3.x - RE:在此特定行上将 Python2 转移到 Python3
- python - python中列表的每个项目如何分开(字符串,整数和浮点数)
- android - 如何移动 android studio 项目?
- python - 如何将文件转换为 .gz 扩展名
- python - 当我从进行所有内存学习切换到数据生成器时,为什么我的验证准确度会低很多?