【问题标题】:PM2 Log to a file with timestampsPM2 记录到带有时间戳的文件
【发布时间】:2019-07-17 14:08:27
【问题描述】:

目前,我有一个 NodeJS 程序,它像许多 NodeJS 程序一样将大量信息记录到控制台。我想知道是否有一种方法可以为登录到控制台的所有内容生成输出日志,该文件以创建的时间戳命名。

我一直在网上研究保存日志的方法,到目前为止我已经能够找到重定向,例如node app.js > logs/bot.log。虽然这很好用,但我需要 pm2 以便重新启动任何崩溃但我无法找到如何使 pm2 具有时间戳日志。我发现 pm2 可以有日志,但我无法弄清楚如何根据需要修复它们。

不需要太多代码来显示这一点,但我只需要将控制台中的所有消息都记录到一个文件中。

console.log("Sometimes, I dream about cheese...");

理想情况下,我希望将之前的所有日志和所有其他日志保存到文件夹 logs (/logs/bot.log) 内名为 bot.log 的文件中。

我希望我能够获得帮助,将带有时间戳的日志保存为已打印到控制台的所有内容的名称,虚拟制作控制台的副本,以便我以后可以访问以进行调试等. 感谢您的帮助!

【问题讨论】:

    标签: javascript node.js pm2


    【解决方案1】:

    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/

    如果您需要更多帮助,可以更具体一点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      相关资源
      最近更新 更多