温馨提示×

linux下怎么搜nodejs日志

小樊
40
2026-10-08 11:12:37
栏目: 编程语言

在 Linux 下“搜 Node.js 日志”通常分几种情况,下面按常见场景给你最实用的方法。


一、Node.js 日志在哪?

1️⃣ 控制台日志(最常见)

如果你是这样启动的:

node app.js

日志直接输出在终端,没写文件。

✅ 解决方案:以后建议重定向:

node app.js > app.log 2>&1 &

2️⃣ 日志写在文件里

常见路径:

/var/log/node/
/var/log/app/
./logs/app.log

先看进程在哪:

ps -ef | grep node

二、搜索 Node.js 日志的常用命令

✅ 按关键字搜索

grep "Error" app.log

实时搜索:

tail -f app.log | grep "Error"

忽略大小写:

grep -i "error" app.log

显示行号:

grep -n "timeout" app.log

✅ 搜索多个文件

grep -r "Error" /var/log/node/

只显示文件名:

grep -rl "Error" /var/log/node/

✅ 按时间搜(最近日志)

tail -n 100 app.log

最近 1 小时(需日志有时间戳):

grep "2026-01-21 10:" app.log

三、如果是 PM2 启动的 Node.js

查看日志

pm2 logs

搜某个应用:

pm2 logs app

搜错误:

pm2 logs | grep "Error"

日志路径:

~/.pm2/logs/

四、如果是 Docker 里的 Node.js

docker logs node_container

实时:

docker logs -f node_container

搜错误:

docker logs node_container 2>&1 | grep "Error"

五、高级:用 journalctl(systemd)

如果 Node 是 systemd 服务:

journalctl -u node-app.service

搜错误:

journalctl -u node-app.service | grep "Error"

实时:

journalctl -u node-app.service -f

六、推荐做法(生产环境)

✅ 用日志库:

  • winston
  • pino

✅ 日志结构:

时间 | 级别 | 信息

✅ 集中管理:

  • ELK
  • Loki
  • Grafana

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

  • 你是怎么启动 Node 的(node / pm2 / docker)
  • 日志大概在哪
  • 想搜什么(error / 某个请求 / 某个用户)

我可以直接给你精准命令。

0 踩