You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pm2启动应用时如何自定义日志存储路径?

问题根因

你启动失败的核心原因是参数位置传递错误:

  • PM2的配置参数必须放在--分隔符之前,--之后的所有参数都会直接传递给你要启动的业务命令(此处为yarn serve)。你之前把日志路径、日志格式等PM2专属参数放到了--之后,相当于把这些不被serve识别的参数传给了serve命令,直接导致启动失败。
  • 额外注意:你第二次执行的命令中--name的参数值拼写和原定的application-name不一致,会导致后续管理应用时找不到对应进程。
解决方法

方法1:直接修正启动命令

将PM2专属参数全部移到--分隔符之前即可,正确命令示例:

pm2 start yarn --name "application-name" --interpreter bash \
-o /自定义路径/标准输出.log \
-e /自定义路径/错误输出.log \
--log-date-format "YYYY-MM-DD HH:mm Z" \
-- serve

参数说明:

  • -o 对应标准输出日志的存储路径
  • -e 对应错误输出日志的存储路径
  • --log-date-format 配置日志的前缀时间格式

方法2:使用配置文件管理(更适合长期维护)

如果需要长期管理应用配置,推荐使用PM2的生态配置文件,避免每次启动都输入大量参数:

  1. 在项目根目录执行命令生成基础配置文件:
    pm2 init simple
  2. 编辑生成的ecosystem.config.js文件,填入相关配置:
module.exports = {
  apps : [{
    name: "application-name",
    script: "yarn",
    interpreter: "bash",
    args: "serve",
    // 自定义日志配置
    output: "/自定义路径/标准输出.log",
    error: "/自定义路径/错误输出.log",
    log_date_format: "YYYY-MM-DD HH:mm Z"
  }]
}
  1. 使用配置文件启动应用:
    pm2 start ecosystem.config.js
验证步骤
  • 执行pm2 list查看应用状态,若显示为online则启动成功
  • 若状态为errored,执行pm2 logs application-name查看具体报错信息排查问题
  • 检查你设置的自定义日志路径下是否已生成对应日志文件,确认写入正常

内容的提问来源于stack exchange,提问作者Nikhil Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:18:03