温馨提示×

linux下nodejs日志如何读

小樊
46
2026-09-29 17:49:53
栏目: 编程语言

在 Linux 下查看 Node.js 日志,取决于你的 Node 应用是如何记录日志的。下面按常见情况说明:


一、Node.js 直接输出到终端(最常见)

如果你是这样启动的:

node app.js

日志默认输出到 标准输出(stdout) 和 标准错误(stderr)。

查看方式

# 前台运行,直接看终端
node app.js

如果已经后台运行:

# 查看进程
ps aux | grep node

二、日志重定向到文件

启动时就重定向

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

查看日志

tail -f app.log        # 实时查看
cat app.log            # 查看全部
less app.log           # 分页查看
grep "error" app.log   # 搜索关键字

三、使用 PM2 管理 Node.js(推荐)

查看日志

pm2 logs               # 所有应用
pm2 logs app_name      # 指定应用
pm2 logs --lines 100   # 最近 100 行

日志位置

~/.pm2/logs/

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

如果是 systemd 服务:

sudo journalctl -u your-node-service
sudo journalctl -u your-node-service -f   # 实时

五、应用中使用日志库(如 winston / pino)

如果代码里写了:

logger.info('server started')

日志通常在:

  • 自定义文件(如 logs/app.log)
  • 或输出到 stdout(由 PM2 / docker 收集)

查看:

tail -f logs/app.log

六、Docker 中的 Node.js 日志

docker logs container_name
docker logs -f container_name

七、常用排查命令总结

tail -f logfile        # 实时
grep ERROR logfile     # 错误
less +F logfile        # 类 tail -f
wc -l logfile          # 行数

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

  • 你是怎么启动 Node 的(命令 / PM2 / Docker / systemd)
  • 是否用了日志库(winston / pino / console)

我可以给你更具体的命令。

0 踩