文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
日志 Logs
应用程序日志
使用 PM2 启动应用程序后,您可以轻松查询和管理日志。
日志文件位于文件夹 中。 $HOME/.pm2/logs
日志视图
这将清空 PM2 管理的当前应用程序日志:
$ pm2 flush
$ pm2 flush <api> # 清除 Name/ID 与 <api> 匹配的应用程序的日志
应用程序日志选项
启动应用程序时,您可以指定许多选项,说明如何
命令行界面
运行 pm2 start app.js [OPTIONS]
时,您可以将以下任何选项传递给 CLI:
-l --log [path] # 指定文件路径以输出输出和错误日志
-o --output <path> # 指定日志文件
-e --error <path> # 指定错误日志文件
--time # 带有标准格式时间戳的前缀日志
--log-date-format <format> # 带有自定义格式时间戳的前缀日志
--merge-logs # 当运行具有相同应用程序名称的多个进程时,不要按 id 拆分文件
自动为日志添加日期前缀
要轻松为应用程序日志添加前缀,您可以传递以下选项: --time
$ pm2 start app.js --time
# Or a running app
$ pm2 restart app --time
配置文件
通过配置文件,您可以传递以下选项:
田 | 类型 | 例 | 描述 |
---|---|---|---|
error_file | (字符串) | 错误文件路径(默认为 $HOME/.pm2/logs/<App Name>-error-<pid>.log ) | |
out_file | (字符串) | 输出文件路径(默认为 $HOME/.pm2/logs/<App Name>-out-<pid>.log ) | |
log_file | (字符串) | 输出日志和错误日志的文件路径(默认禁用) | |
pid_file | (字符串) | pid 文件路径(默认为 $HOME/.pm2/pids/<app name>-<pid>.pid ) | |
merge_logs | 布尔 | 真 | 如果设置为 true,则避免使用进程 ID 为日志文件添加后缀 |
log_date_format | (字符串) | “年-月-日-小时:毫米 Z” | 日志日期格式(请参阅日志部分) |
log_type | (字符串) | “啧” | 指定日志输出样式,可能的值:“json”(默认情况下将记录原始) |
禁用日志后缀
仅适用于集群模式 (node.js) 中的应用程序; 如果您希望集群进程的所有实例都登录到同一个文件中,您可以使用选项 --merge-logs
或 merge_logs: true
禁用日志记录
要禁止将所有日志写入磁盘,您可以将选项 out_file
和 error_file
设置为 /dev/null
module.exports = {
apps : [{
name: 'Business News Watcher',
script: 'app.js',
instances: 1,
out_file: "/dev/null",
error_file: "/dev/null"
cron_restart: '0 0 * * *'
[...]
}]
}
您可以提供 /dev/null
或 NULL
作为日志的输出(不取决于平台,它们是硬编码的字符串)。
设置本机日志旋转
$ sudo pm2 logrotate -u user
这会将基本的 logrotate 配置写入 /etc/logrotate.d/pm2-user
,如下所示:
/home/user/.pm2/pm2.log /home/user/.pm2/logs/*.log {
rotate 12
weekly
missingok
notifempty
compress
delaycompress
create 0640 user user
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论