温馨提示×

linux nodejs日志怎样实时监控

小樊
40
2026-09-17 18:11:01
栏目: 编程语言

在 Linux 下实时监控 Node.js 日志,常见做法有几种,按使用场景给你总结一下:


一、最常用:tail 实时监控日志文件

如果你的 Node.js 应用把日志写到了文件(如 app.log):

tail -f app.log

只看最新 100 行并持续监控:

tail -n 100 -f app.log

多个日志文件一起看:

tail -f app.log error.log

✅ 适合:文件日志、PM2 日志、自定义日志


二、使用 PM2(Node.js 推荐)

如果你用 PM2 启动 Node.js:

pm2 logs

只看某个服务:

pm2 logs app-name

实时 + 错误日志:

pm2 logs --err

✅ 适合:生产环境 Node.js 服务


三、用 less 实时查看(可搜索)

less +F app.log
  • Ctrl + C 停止滚动
  • /关键词 搜索
  • F 继续实时监控

✅ 适合:大日志文件


四、配合日志工具(更专业)

1. 使用 winston / pino 写日志

Node.js 代码里推荐:

  • winston
  • pino

示例(pino):

const pino = require('pino')
const logger = pino({ level: 'info' })
logger.info('server started')

2. 系统级日志监控

journalctl -u node-app -f

✅ 适合:systemd 管理的 Node 服务


五、高级:日志聚合(生产推荐)

  • ELK(Elasticsearch + Logstash + Kibana)
  • Grafana + Loki
  • Fluentd

✅ 适合:多服务、多服务器


六、常见排查命令组合

实时过滤 ERROR:

tail -f app.log | grep ERROR

高亮显示:

tail -f app.log | grep --color=auto ERROR

如果你愿意,可以告诉我:

  • 你是用 PM2 / Docker / systemd 启动的?
  • 日志是 控制台还是文件

我可以给你更精确的命令。

0