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

node 使用 pm2 日志管理及使用 pm2-logrotate 进行日志分割 node 使用 pm2 日志管理及使用 pm2-logrotate 进行日志分割详细教程!!! 阅读详情

方法一:


直接引用 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 你的配置 来使修改生效.

Node.js 生产环境必备:PM2 日志管理终极指南(含 pm2-logrotate 配置详解) 本文详细介绍了在Node.js生产环境中使用PM2进行高效日志管理的最佳实践,重点解析了pm2-logrotate插件的配置与优化。通过自动日志分割、智能压缩和定时清理功能,解决日志文件膨胀、检索困难等痛点,提升运维效率。涵盖安装验证、参数调优、故障排查及与ELK栈集成等企业级方案,适用于各类Node.js应用场景。 阅读详情

相关推荐

宝塔面板+PM2部署Node.js应用:从零到生产的完整实战指南

在服务器运维和Web应用部署领域,进程管理与可视化运维是两个核心基础概念。进程管理器通过守护进程、自动重启和集群模式等机制,保障应用服务的持续稳定运行,其技术价值在于显著提升了服务的可靠性与资源利用率。可视化运维工具则将复杂的命令行操作转化为直观的Web界面,极大降低了服务器环境搭建与管理的门槛。结合这两项技术,开发者可以在常见的Linux服务器上,高效部署和管理Node.js等后端应用。本文聚焦于**宝塔面板**与**PM2**这一经典组合,详细阐述了如何利用宝塔进行服务器环境初始化与安全加固,并指导手动

weixin_33860553的博客 431

pm2查看、重启服务和日志

简单科普 SSH 是一种网络协议,用于计算机之间的加密登录 PM2 是一个守护进程管理器,它将帮助您管理和保持应用程序在线。 1. ssh远程登录 ssh [hostAddress] 通过输入密码,成功会登录到对应主机 如果失败会被拒绝 2. pm2 查看当前启动的所有应用 pm2 list 3. pm2 查看日志 pm2 log 如果要查询指定项目的日志 pm2 log [project] pm2 其它常用命令 pm2 start <script_file|config

wzp20092009的博客 3万+

PM2生产环境部署全攻略:从零搭建Node.js进程守护与集群方案

进程管理是后端服务稳定运行的基石,它确保应用在服务器上持续可靠地执行。其核心原理是通过守护进程监控应用状态,实现故障自动恢复和资源调度。在Node.js生态中,PM2作为主流进程管理工具,提供了零停机部署、集群模式、日志管理等关键技术价值,极大提升了生产环境的运维效率。针对常见的部署场景,如服务器环境配置、权限安全、性能监控等,PM2通过生态系统配置文件实现标准化管理。特别是针对【内存泄漏】问题,PM2的max_memory_restart配置能自动重启超限进程;面对【进程无故退出】的运维难题,其内置的守护

weixin_33748818的博客 391

(node-red)pm2的日志管理及使用pm2-logrotate进行日志分割

通过pm2的日志管理插件(pm2-logrotate)实现node-red的日志分割管理

weixin_44462773的博客 4871

【数据库】SQL Server 2008 R2 安装全流程详解与常见问题避坑指南

本文详细解析了SQL Server 2008 R2的完整安装流程与核心配置。从安装前的系统兼容性检查、.NET Framework依赖准备,到图文详解实例配置、混合身份验证模式设置等关键步骤,并提供了安装失败、服务无法启动等高频问题的排查与避坑指南,帮助用户顺利完成部署。

java5的博客 1241

服务器冗余电源维修图纸,冗余热备份电源的电路图设计

在设计某高可靠性计算机系统时,要求其配套电源采取冗余设计。一般来说,可以采取的方案有容量冗余、冗余冷备份方式、并联均流的N+1备份方式、冗余热备份方式。容量冗余是指电源的最大负载能力大于实际负载,也就是“大马拉小车”,其缺点是不利于提高电源的效率,而且对提高电源的可靠性意义不大。冗余冷备份方式是指电源由两个或多个功能相同的单元模块组成,电源启动后由其中一个单元模块向设备供电,当工作单元发生故障时,...

weixin_39671509的博客 1995

PM2日志管理——pm2-logrotate命令及小贴士

pm2-logrotate使用过程中所需的命令,以及遇到的问题和使用小贴士

weixin_43239068的博客 2932

Accelstepper 库中的参数计算公式

要完全调试电机的各个参数,例如最大速度,加速度等,就需要了解其计算公式和原理。 以下是代码注释: /// This code uses speed calculations as described in /// "Generate stepper-motor speed profiles in real time" by David Austin/// http://fab.cba.mi...

wenguitao的博客 4455

浅析pm2日志管理及使用pm2-logrotate进行日志分割

点击上方“青年码农”关注回复“特效源码”可获取各种资料首先我们看看 pm2 的自带日志管理功能,pm2的日志模块默认是每一个服务进程都分配两个默认的日志文件,这两个日志文件存放于/root/.pm2/logs中启动项目后,可以通过pm2 logs查看,此时屏幕上会同时输出error log和 实时log, 同时会打印出日志文件的路径, 类似:同时我们也可以使用 tail ...

青年码农 5395

OpenBCI脑电帽硬件DIY与低成本搭建实战

本文详细介绍了如何通过第三方兼容硬件和开源设计,低成本DIY一套功能完备的OpenBCI脑电采集系统。从硬件选购、组装、软件配置到信号调试,提供了完整的实战指南,将总成本控制在千元级别,使脑机接口技术对爱好者、学生和研究者变得更加触手可及。

weixin_29322855的博客 785

U型槽微带贴片天线:从理论公式到带宽扩展实战

本文深入探讨了U型槽微带贴片天线的设计与带宽扩展实战。针对传统微带天线带宽窄的痛点,详细解析了通过引入U型槽形成双谐振点以拓宽带宽的原理,并提供了从MATLAB理论计算、ANSYS HFSS仿真建模到参数优化的一站式工程指南。文章还分享了多种带宽扩展组合技巧及仿真与实测避坑经验,助力射频工程师设计出高性能的宽带微带天线。

weixin_29168153的博客 446

nginx,pm2日志切割

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34186931的博客 127

Unity URP半透明物体深度排序优化:解决自交叠渲染瑕疵

本文深入探讨了Unity URP管线中半透明物体深度排序的优化方法,重点解决自交叠区域的渲染瑕疵问题。通过双通道渲染、深度预写入、多通道渲染等核心技术,结合实战案例和性能数据,帮助开发者实现高质量的透明效果渲染。

weixin_30879169的博客 418

Nodejs log4js日志管理配置

最近在看公司的项目,日志管理用的是nodejs 的日志模块log4js。然后看了一下网上的一些资料和官方的文档。写一下自己的一些理解。 基本的理解就是: "log4js": "^3.0.6" 入口-分级 最近的log4js 默认输出的不同级别的日志分类,分别配有不同的颜色 入口-分类logger = log4js.getLogger('CHEESE')...

thlzjfefe的博客 2485

区块链技术与应用 【全国职业院校技能大赛国赛题目解析】Caliper从0到使用

技能大赛样题解析,caliper题目从0到使用

weixin_52865146的博客 2075

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

王老师青少年编程 713

Ubuntu 20.04 Node.js生产环境部署:PM2+Nginx+systemd三阶架构

Node.js本身是一个轻量级运行时,其内置HTTP服务器仅适用于开发调试,不具备进程守护、多核扩展、反向代理、SSL终止和系统级服务管理等生产必需能力。真正的生产就绪需构建分层架构:以PM2实现集群化进程管理与自动恢复,以Nginx作为高性能反向代理与安全网关处理HTTPS、负载均衡与请求过滤,再通过systemd完成系统级服务注册、开机自启与资源隔离。该组合在Ubuntu 20.04 LTS上具备高稳定性、强安全性和良好运维可追溯性,广泛应用于企业级Web服务、API网关及全栈应用部署场景。

a1311010193的博客 422

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Linux 日志

Linux 日志 目录 Linux 日志 主要日志文件分类 级别(由轻到重) pm2相关日志 日志配置文件 在Linux系统当中,有三个主要的日志子系统 日志保存的位置 日志文件的安全性 日志轮询 journalctl命令 主要日志文件分类 内核及公共消息日志:/var/log/messages 计划任务日志:/var/log/cron 系统引导日志:/var/log/dmesg 邮件系统日志:/var/log/maillog 用户登录日志:/var/log/lastlog

名猿妮的博客 587

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

php日志查看tail,linux tail 查看日志文件方法

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.1.命令格式;tail[必要参数][选择参数][文件]2.命令功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。-f 循环读取-q 不显示处...

weixin_42510768的博客 273

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

如何用免费在线工具深度分析无人机飞行日志:UAV Log Viewer完全指南

当你完成一次无人机飞行任务后,那些看似神秘的二进制日志文件里究竟隐藏着什么秘密?飞行姿态的微妙变化、GPS轨迹的精确记录、电池状态的实时监控——所有这些数据都存储在飞行日志中。UAV Log Viewer正是为了解决这个痛点而生的免费在线**无人机日志分析工具**,让你无需安装任何软件,直接在浏览器中就能完成专业级的**飞行数据分析**。 ## 🎯 为什么你需要专业的日志分析工具? 想象一下

gitblog_00242的博客 236

linux查看日志命令 tail,linux tail 查看日志文件方法

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.1.命令格式;tail[必要参数][选择参数][文件]2.命令功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。-f 循环读取-q 不显示处...

weixin_39620001的博客 821

Linux 磁盘空间排查:5个常见目录与日志文件清理实战

本文详细介绍了Linux系统中磁盘空间不足的排查与清理方法,重点分析了5个常见目录(如/var/log、/tmp等)的大文件问题,并提供了实用的命令组合和清理策略,帮助运维人员快速解决磁盘空间不足问题。

weixin_34098209的博客 349

Android 稳定性【篇一:日志调试技能汇总】

Android开发过程中调试和日志分析是必不可少的,当前汇总分析android系统不同类型的日志抓取的原理

qq_27672101的博客 1883

Centos7 安装nginx

Nginx 是 C语言 开发,建议在 Linux 上运行。 yum安装 安装响应的nginx依赖 yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel nginx源头 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-releas...

fulinlin的博客 216

vsftp日志查看_vsftpd日志配置及查看——可以将vsftpd记录在系统日志里

vsftpd日志配置及查看vsftpdftp服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现。主配置文件中与日志设置有关的选项包括xferlog_enable 、xferlog_file 和dual_log_enable 等。xferlog_enable如果启用该选项,系统将会维护记录服务器上传和下载情况的日志文件。默认情况下,该日志文件为 /var/log/vsftp...

weixin_30767863的博客 1869

mysql-日志管理-error.log

【代码】mysql-日志管理-error.log。

wenwenkaii的博客 1092
上一篇: 解决 ssh user@ip 'command' 出现 'command not found'的问题
下一篇: nodejs javascript 实现随机数种子的几种方法
whitehack
博客等级 码龄19年 67粉丝 123原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值