pm2 自定义log, pid 等日志文件位置

方法一:


直接引用 pm2官方的:
http://pm2.keymetrics.io/docs/usage/log-management/

Log configuration


CLI

Example:

$ pm2 start echo.js --merge-logs --log-date-format="YYYY-MM-DD HH:mm Z"

Options:

--merge-logs                 do not postfix log file with process id
--log-date-format <format>   prefix logs with formated timestamp
-l --log [path]              specify entire log file (error and out are both included)
-o --output <path>           specify out log file
-e --error <path>            specify error log file
JSON way
 {
  "script"          : "echo.js",
  "error_file"      : "err.log",
  "out_file"        : "out.log",
  "merge_logs"      : true,
  "log_date_format" : "YYYY-MM-DD HH:mm Z"
}
Combine out and err logs

To combine all logs into the same file set the same value for error_file, out_file or use an additional log_file.

For example, this keeps out and err separated but adds a combined file:

{
  "log_file": "combined.outerr.log",
  "out_file": "out.log",
  "err_file": "err.log"
}

Or if you want out and err combined without any other file, just use the same log file:

{
  "out_file": "combined.log",
  "err_file": "combined.log"
}

Note that relatives logs paths will usually be written in the PM2_HOME (~/.pm2/logs).

方法二:


修改 ~/.pm2 目录下的 conf.js

//conf.js


/**
 * Overidde PM2 configuration
 */

var p    = require('path');

module.exports = function(DEFAULT_HOME) {

  if (!DEFAULT_HOME)
    return false;

  var PM2_HOME = DEFAULT_HOME;

  var pm2_conf = {
    PM2_HOME                 : PM2_HOME,

    PM2_LOG_FILE_PATH        : p.join(PM2_HOME, 'pm2.log'),
    PM2_PID_FILE_PATH        : p.join(PM2_HOME, 'pm2.pid'),

    DEFAULT_PID_PATH         : p.join(PM2_HOME, 'pids'),
    //例如修改默认的 pm2 logs的位置. 
    DEFAULT_LOG_PATH         : '/data/pm2logs',
    DUMP_FILE_PATH           : p.join(PM2_HOME, 'dump.pm2'),

    DAEMON_RPC_PORT          : p.join(PM2_HOME, 'rpc.sock'),
    DAEMON_PUB_PORT          : p.join(PM2_HOME, 'pub.sock'),
    INTERACTOR_RPC_PORT      : p.join(PM2_HOME, 'interactor.sock'),

    GRACEFUL_TIMEOUT         : parseInt(process.env.PM2_GRACEFUL_TIMEOUT) || 8000,
    GRACEFUL_LISTEN_TIMEOUT  : parseInt(process.env.PM2_GRACEFUL_LISTEN_TIMEOUT) || 3000,

    CONCURRENT_ACTIONS       : parseInt(process.env.PM2_CONCURRENT_ACTIONS) || 1,

    DEBUG                    : process.env.PM2_DEBUG || false,
    WEB_INTERFACE            : parseInt(process.env.PM2_API_PORT)  || 9615,
    MODIFY_REQUIRE           : process.env.PM2_MODIFY_REQUIRE || false,

    PM2_LOG_DATE_FORMAT      : process.env.PM2_LOG_DATE_FORMAT !== undefined ? process.env.PM2_LOG_DATE_FORMAT : 'YYYY-MM-DD HH:mm:ss',

    INTERACTOR_LOG_FILE_PATH : p.join(PM2_HOME, 'agent.log'),
    INTERACTOR_PID_PATH      : p.join(PM2_HOME, 'agent.pid'),
    INTERACTION_CONF         : p.join(PM2_HOME, 'agent.json5')
  };

  return pm2_conf || null;
};

修改完之后还不是立即生效.
执行一下 pm2 kill 来 杀掉 pm2 然后 执行 pm2 start 你的配置 来使修改生效.

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PM2 是一个进程管理工具,可以帮助我们管理和监控 Node.js 应用程序。PM2 使用一个配置文件来指定应用程序的相关设置。下面是一个 PM2 配置文件的详解: 1. `name`:设置应用程序的名称,用于在日志和监控中进行标识。 2. `script`:指定要运行的 Node.js 脚本或应用程序的入口文件。 3. `args`:传递给脚本的命令行参数。 4. `instances`:指定要启动的应用程序实例的数量,默认为 1。 5. `exec_mode`:指定应用程序运行的模式,有两种可选值:fork(默认)和 cluster。 6. `max_memory_restart`:当应用程序占用的内存超过指定值时,自动重启应用程序。 7. `watch`:启用文件变动监视功能,当文件变动时自动重启应用程序。 8. `ignore_watch`:指定不需要监视变动的文件或目录。 9. `log_date_format`:设置日志输出的时间格式。 10. `error_file` 和 `out_file`:指定错误日志和标准输出日志文件路径。 11. `env`:设置环境变量,可以在应用程序中使用 process.env 访问。 12. `merge_logs`:合并所有实例的日志到一个文件中。 13. `cron_restart`:使用 cron 表达式定期重启应用程序。 14. `autorestart`:在应用程序崩溃时自动重启。 15. `restart_delay` 和 `exp_backoff_restart_delay`:设置重启的延迟时间。 以上是配置文件中的一些常用选项,你可以根据自己的需求进行配置。使用 PM2 启动应用程序时,可以通过 `pm2 start app.js -n MyApp --watch` 这样的命令来指定参数,也可以将参数写在配置文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值