PM2 日志管理
PM2 提供了灵活且强大的日志管理功能,可以帮助开发者轻松查看和管理 Node.js 应用的输出日志和错误日志。通过 PM2 的日志管理,你可以实时跟踪应用的运行状态、调试错误并生成可追溯的日志记录。
1. 查看实时日志
要查看应用的实时日志,可以使用以下命令:
pm2 logs
这将显示所有正在运行的应用的日志。如果你只想查看特定应用的日志,可以指定应用名称或 ID:
pm2 logs my-app
或者:
pm2 logs 0
默认情况下,pm2 logs 命令会同时显示 标准输出日志(stdout)和 错误日志(stderr)。
日志输出示例
[0] my-app | Server started on port 3000
[0] my-app | Error: Connection failed
[0] my-app | at /path/to/app.js:15:7
日志中包含了应用的标准输出信息(如启动信息、正常日志)以及错误信息。
2. 查看错误日志
PM2 还允许你单独查看错误日志。如果你只关心应用的错误输出,可以使用 --err 标志来过滤:
pm2 logs my-app --err
这将只显示应用的错误日志,帮助你快速定位并解决问题。
3. 管理日志文件
PM2 默认将日志输出到文件中,方便后续查看和存档。你可以通过以下命令查看日志文件的位置:
pm2 show my-app
该命令会列出所有进程的信息,其中包括 stdout 和 stderr 日志文件的路径。
示例输出
Describing process with id 0 - name my-app
--------------------------------------------------------------
pid 1234
status online
name my-app
cpu 0.5%
memory 50MB
user root
watching no
uptime 3h
script path /path/to/my-app/app.js
stdout log /path/to/my-app/logs/my-app-out.log
stderr log /path/to/my-app/logs/my-app-error.log
4. 日志滚动和自动清理
PM2 支持日志滚动和自动清理功能,帮助你避免日志文件无限制增长,占用过多磁盘空间。你可以在配置文件中设置日志滚动的规则。
设置日志滚动
在 ecosystem.config.js 配置文件中,你可以通过 log_date_format、max_size 和 retain 等选项来设置日志的滚动策略。
module.exports = {
apps: [
{
name: 'my-app',
script: './app.js',
log_date_format: 'YYYY-MM-DD HH:mm:ss',
max_size: '10M', // 日志文件达到 10MB 时滚动
retain: 7, // 保留 7 个滚动日志文件
},
],
};
配置项说明:
- log_date_format: 设置日志的时间格式。
- max_size: 设置日志文件的最大大小,超过此大小后将自动滚动。
- retain: 设置保留的滚动日志文件数量,超出数量的旧日志会被删除。
启用日志滚动
配置完成后,使用以下命令启动应用:
pm2 start ecosystem.config.js
PM2 会自动根据配置滚动日志,并在磁盘空间不足时自动清理旧日志。
5. 手动清理日志
如果你需要手动清理 PM2 生成的日志文件,可以使用 pm2 flush 命令:
pm2 flush
此命令会清空所有应用的日志文件内容,但不会删除日志文件本身。
6. 结语
PM2 提供了强大的日志管理功能,让你能够轻松管理和查看应用的运行日志。无论是实时查看日志、分析错误日志,还是设置日志滚动和自动清理,PM2 都为开发者提供了多种工具来确保应用的稳定运行。
通过合理配置和使用 PM2 的日志功能,你可以更高效地监控和调试 Node.js 应用,确保应用的高可用性和可追溯性。
相关内容
- PM2 崩溃恢复 了解 PM2 的崩溃恢复机制,掌握如何配置进程崩溃后的自动重启,以保证 Node.js 应用在遇到异常时能够快速恢复,保持高可用性和稳定性。
- PM2 重启策略 了解 PM2 的重启策略,掌握如何根据不同的需求配置自动重启规则,如内存限制、时间限制、重启次数等,确保 Node.js 应用在异常时能自动恢复,保持高可用性。
- PM2 集群模式的优势 了解使用 PM2 集群模式的优势,如何通过负载均衡、多进程管理和高可用性提升 Node.js 应用的性能、稳定性和容错性。
- PM2 启动集群 学习如何通过 PM2 启动集群模式,以充分利用服务器的多核 CPU 提升 Node.js 应用的性能。PM2 集群模式提供了负载均衡、高可用性和自动恢复的功能,...
- PM2 应用部署 了解如何使用 PM2 进行 Node.js 应用的部署,掌握常见的部署方式、配置管理和自动化部署流程,确保应用能够在生产环境中高效、稳定地运行。
- PM2 自动化流程 掌握如何使用 PM2 配置自动化部署流程,利用 Git 集成和自定义部署脚本,实现应用的持续集成与持续部署(CI/CD),确保代码快速、安全地部署到生产环境。