在 Linux 下“搜 Node.js 日志”通常分几种情况,下面按常见场景给你最实用的方法。
如果你是这样启动的:
node app.js
日志直接输出在终端,没写文件。
✅ 解决方案:以后建议重定向:
node app.js > app.log 2>&1 &
常见路径:
/var/log/node/
/var/log/app/
./logs/app.log
先看进程在哪:
ps -ef | grep node
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 logs
搜某个应用:
pm2 logs app
搜错误:
pm2 logs | grep "Error"
日志路径:
~/.pm2/logs/
docker logs node_container
实时:
docker logs -f node_container
搜错误:
docker logs node_container 2>&1 | grep "Error"
如果 Node 是 systemd 服务:
journalctl -u node-app.service
搜错误:
journalctl -u node-app.service | grep "Error"
实时:
journalctl -u node-app.service -f
✅ 用日志库:
winstonpino✅ 日志结构:
时间 | 级别 | 信息
✅ 集中管理:
如果你愿意,可以告诉我:
我可以直接给你精准命令。