返回介绍

日志 Logs

发布于 2024-04-14 00:45:03 字数 2779 浏览 0 评论 0 收藏 0

应用程序日志

使用 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-logsmerge_logs: true

禁用日志记录

要禁止将所有日志写入磁盘,您可以将选项 out_fileerror_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/nullNULL 作为日志的输出(不取决于平台,它们是硬编码的字符串)。

设置本机日志旋转

$ 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文