温馨提示×

linux下nodejs日志在哪存放

小樊
35
2026-10-23 02:31:04
栏目: 编程语言

在 Linux 下,Node.js 本身并没有一个“固定的日志目录”,日志存放位置完全取决于你的 Node.js 应用是如何配置和运行日志的。下面按常见情况说明:


一、Node.js 应用自己的日志

如果你在代码里写了日志(如 console.log、winston、pino 等):

1. 直接运行(前台)

node app.js
  • 日志默认输出到 终端(stdout / stderr)
  • 不会自动存文件

2. 重定向到文件

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

日志位置:

当前目录下的 app.log

3. 使用日志库(常见)

如 winston / pino / log4js:

// 示例
transports: [
  new winston.transports.File({ filename: '/var/log/myapp/app.log' })
]

日志位置由你代码里配置的路径决定,常见目录:

/var/log/xxx/
/home/user/logs/
./logs/

二、通过进程管理工具运行(最常见)

1. PM2(非常常见)

pm2 logs

实际日志位置:

~/.pm2/logs/

例如:

~/.pm2/logs/app-out.log
~/.pm2/logs/app-error.log

查看:

pm2 logs 应用名

2. systemd(生产服务器常见)

如果你用 systemd 管理 Node.js:

systemctl status mynodeapp
journalctl -u mynodeapp

日志位置:

/var/log/journal/

或:

journalctl -u mynodeapp -f

三、Nginx / 反向代理相关日志(不是 Node 本身)

如果 Node 在 Nginx 后面:

/var/log/nginx/access.log
/var/log/nginx/error.log

四、常见排查思路

  1. 看怎么启动的:
    ps aux | grep node
    
  2. 看是否用 PM2:
    pm2 list
    
  3. 看 systemd:
    systemctl | grep node
    

总结一句话

Node.js 日志在哪,取决于你怎么跑它:

  • 自己写的 → 代码/配置决定
  • PM2 → ~/.pm2/logs
  • systemd → journalctl
  • 手动跑 → 终端或你重定向的文件

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

  • 你是怎么启动 Node 的(命令 / PM2 / Docker / systemd)
  • 用的什么日志库

我可以帮你精准定位日志文件。

0 踩