pm2 更改日志文件位置

新手上路,请多包涵

我有几个关于 pm2 的问题

  • 由于服务器的 c 驱动器访问限制,如何将 server-error-0.logserver-out-0.log 文件位置从 c:\users\user\.pm2\logs 更改为其他驱动器。
  • 我可以在数据库而不是日志文件中记录错误和信息吗?我需要为此编写一个单独的模块还是有什么方法可以实现?

原文由 Jeet 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.6k
2 个回答

如何更改…日志文件位置的位置?

要更改 pm2 的日志文件位置,有两种解决方案:在执行 pm2 命令时将日志路径定义为参数( -l-o-e 或 start ), pm2 来自配置文件。

对于参数解决方案,这里是一个示例:

 pm2 start app.js -o ./out.log -e ./err.log

如果不想每次执行 pm2 时都定义日志路径,可以生成一个配置文件,定义 error_fileout_file ,然后启动 pm2:

  1. 生成配置文件: pm2 ecosystem simple 。这将生成一个文件 ecosystem.config.js ,其内容如下:
    module.exports = {
     apps : [{
       name   : "app1",
       script : "./app.js"
     }]
   }

  1. 在文件中定义 error_file (用于错误日志)和 out_file (用于信息日志),例如:
    module.exports = {
     apps : [{
       name   : "app1",
       script : "./app.js",
       error_file : "./err.log",
       out_file : "./out.log"
     }]
   }

  1. 删除 pm2 中的现有进程:
    pm2 delete <pid>

您可以通过以下方式获取 pid:

    pm2 status

  1. 从配置文件启动进程:
    pm2 start ecosystem.config.js

这样,日志保存到 ./err.log./out.log

有关详细信息,请参阅 文档

我可以在数据库而不是日志文件中记录错误和信息吗?

我在官方文档中没有找到任何资源。看来您需要自己编写代码并将日志保存到数据库。

原文由 shaochuancs 发布,翻译遵循 CC BY-SA 4.0 许可协议

只是想添加到@shaochuancs 的回答,在执行第 3 步之前,请确保删除旧进程。如果您不删除旧流程,您对流程文件所做的更改将不会在您启动应用程序后生效。

在执行上面的第 3 步之前,您需要发出此命令:

 pm2 delete <pid>

原文由 user8042173 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题