在 Linux 下查看 Node.js 日志,常见做法取决于你的 Node.js 应用是如何运行和记录日志的。下面按常见场景给你一套实用指南。
如果你是直接运行:
node app.js
日志会直接打印在终端。
如果想保存日志:
node app.js > app.log 2>&1
查看日志:
cat app.log
tail -f app.log # 实时查看
pm2 logs
查看某个应用:
pm2 logs app_name
实时追踪:
pm2 logs --lines 100
日志文件位置:
~/.pm2/logs/
如果你的 Node 服务是通过 systemd 启动的:
journalctl -u your-node-service
实时查看:
journalctl -u your-node-service -f
只看最近 100 行:
journalctl -u your-node-service -n 100
docker logs container_name
docker logs -f container_name
# 实时查看
tail -f app.log
# 搜索错误
grep -i error app.log
# 查看最近 500 行
tail -n 500 app.log
# 按时间过滤
less app.log
# 然后输入 /2026-01-21
不要用 console.log 直接上生产,推荐:
winstonpinobunyan示例(winston):
const winston = require('winston');
winston.add(new winston.transports.File({ filename: 'app.log' }));
| 运行方式 | 查日志命令 |
|---|---|
| node app.js | tail -f app.log |
| pm2 | pm2 logs |
| systemd | journalctl -u |
| docker | docker logs |
如果你愿意,可以告诉我:
我可以给你更精确的命令。