温馨提示×

怎样用linux查nodejs日志

小樊
35
2026-10-11 10:29:59
栏目: 编程语言

在 Linux 下查看 Node.js 日志,常见做法取决于你的 Node.js 应用是如何运行和记录日志的。下面按常见场景给你一套实用指南。


一、最基础:直接看控制台/文件输出

1. 前台运行的 Node 应用

如果你是直接运行:

node app.js

日志会直接打印在终端。

如果想保存日志:

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

查看日志:

cat app.log
tail -f app.log   # 实时查看

二、使用 PM2 管理 Node.js(最常见)

查看日志

pm2 logs

查看某个应用:

pm2 logs app_name

实时追踪:

pm2 logs --lines 100

日志文件位置:

~/.pm2/logs/

三、使用 systemd(生产服务器常见)

如果你的 Node 服务是通过 systemd 启动的:

查看日志

journalctl -u your-node-service

实时查看:

journalctl -u your-node-service -f

只看最近 100 行:

journalctl -u your-node-service -n 100

四、Docker 中运行 Node.js

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

六、Node.js 代码里如何写日志(建议)

不要用 console.log 直接上生产,推荐:

  • winston
  • pino
  • bunyan

示例(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

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

  • 你是怎么启动 Node 的(pm2 / docker / systemd / 直接 node)
  • 是报错查问题还是日常监控

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

0 踩