温馨提示×

nodejs日志在linux存哪

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

在 Linux 上,Node.js 本身不会自动把日志存到某个固定目录,日志位置取决于你(或你用的框架/进程管理器)是怎么启动和配置的。下面按常见情况说明:


1. 直接用 node 启动(最常见)

node app.js
  • 默认:日志直接输出到终端(stdout / stderr)
  • 不会自动写文件
  • 如果你想存文件,需要自己重定向:
node app.js > app.log 2>&1

日志就在你指定的 app.log 里(通常在当前目录)


2. 使用 console.log / console.error

console.log('hello')
  • 输出到 标准输出 / 标准错误
  • 是否存文件,看你怎么运行 Node

3. 使用 PM2(非常常见)

pm2 start app.js

PM2 会自动存日志,位置一般是:

~/.pm2/logs/

例如:

~/.pm2/logs/app-out.log   # 标准输出
~/.pm2/logs/app-error.log # 错误日志

查看日志:

pm2 logs

4. 使用 systemd(服务器部署常见)

如果你用 systemd 管理 Node 服务:

journalctl -u your-node-service

日志由 systemd 管理,通常在:

/var/log/journal/

(二进制格式,不直接看文件)


5. 使用日志库(如 winston / pino)

如果你在代码里配置了日志文件:

winston.add(new winston.transports.File({ filename: '/var/log/app.log' }))

那日志就在你代码里指定的路径,最常见是:

/var/log/

或项目目录下的 logs/


6. Docker 中的 Node 日志

  • 默认在容器 stdout
  • 查看:
docker logs 容器名
  • 宿主机会存在:
/var/lib/docker/containers/

快速排查建议

如果你不知道日志在哪,可以:

ps aux | grep node

看启动命令有没有重定向或配置文件路径。


如果你能告诉我:

  • 是用 node / pm2 / docker / systemd?
  • 有没有用日志库?

我可以直接帮你定位到具体文件路径。

0 踩