前言
在前端开发中,我们常常需要启动多个服务来支持我们项目的开发和测试,同时,我们也需要对这些服务进行管理和监控。PM2 是一个以 Node.js 作为运行环境的进程管理器,可以帮助我们方便地启动、停止、重启、监控多个服务。本文将介绍 PM2 的基本使用和日志处理实践经验分享。
PM2 的基本使用
安装 PM2
使用以下命令安装 PM2:
npm i pm2 -g
启动服务
使用以下命令启动服务:
pm2 start app.js --name="my-app"
这里的 app.js
是服务的入口文件,--name="my-app"
是服务的名称。
PM2 还支持启动多个服务:
pm2 start app1.js app2.js --name="my-apps"
停止服务
使用以下命令停止服务:
pm2 stop my-app
其中 my-app
是服务的名称。
重启服务
使用以下命令重启服务:
pm2 restart my-app
监控服务
使用以下命令可以查看正在运行的服务:
pm2 list
使用以下命令可以查看单个服务的详细信息:
pm2 describe my-app
使用以下命令可以查看所有服务的日志:
pm2 logs
日志处理实践经验分享
在服务运行的过程中,我们需要对服务的日志进行记录和处理。PM2 提供了丰富的日志处理方式,如:
日志文件
使用以下命令可以查看服务的日志文件路径:
pm2 log my-app
通过配置 --log-date-format
参数可以指定日志文件的名称格式:
pm2 start app.js --name="my-app" --log-date-format="YYYY-MM-DD_HH:mm:ss"
PM2 日志 API
可以使用 PM2 的日志 API 来读取和处理日志。
获取最近 100 行日志:
-- -------------------- ---- ------- ----- --- - --------------- ------------------------- - -- ----- - ------------------- ---------------- - ------------------ ------------- ----- - ------------------------------ ----------------- --- ---
监听服务的日志输出:
-- -------------------- ---- ------- ----- --- - --------------- ------------------------- - -- ----- - ------------------- ---------------- - ------------------------ -- ------------- ----- - ------------------ --- ---
使用日志处理工具
除了 PM2 日志 API 外,我们还可以使用其他工具对日志进行处理,如 Winston、Log4js 等。在这里以 Winston 为例介绍如何使用。
安装 Winston:
npm install winston
在服务中使用 Winston:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------ - ---------------------- ------ ------- ------- ---------------------- ----------- - --- ------------------------- --------- ------------ ------ ------- --- --- ------------------------- --------- -------------- -- - --- -- ---- ----------------------- ---- -------- -- ---- ------------------ --------
通过上述配置,所有的日志将会保存到 combined.log
文件中,错误日志将会保存到 error.log
文件中。
结语
通过本文的介绍,我们学习了 PM2 的基本使用和日志处理实践经验分享。希望本文能对你的前端开发和服务管理有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/678219fd935627c900f73bff