温馨提示×

nodejs在linux日志如何开启

小樊
46
2026-10-26 02:34:49
栏目: 编程语言

在 Linux 上“开启 Node.js 日志”通常有几种理解,下面按常见场景给你说明,你可以对号入座。


一、Node.js 应用自身日志(最常见)

Node.js 默认不会自动写日志文件,需要你在代码里输出日志。

1. 使用 console(最简单)

console.log('正常日志');
console.error('错误日志');

运行:

node app.js > app.log 2>&1
  • >:标准输出
  • 2>&1:错误也写入日志

2. 使用日志库(推荐)

npm install winston
const winston = require('winston');

const logger = winston.createLogger({
  transports: [
    new winston.transports.File({ filename: 'app.log' })
  ]
});

logger.info('服务启动');

二、使用 PM2(生产环境推荐)

PM2 会自动管理 Node.js 日志。

npm install pm2 -g
pm2 start app.js

查看日志:

pm2 logs

日志文件位置:

~/.pm2/logs/

三、Linux 系统级日志(systemd)

如果你是 systemd 服务运行 Node.js:

1. 编写 service

[Unit]
Description=Node App

[Service]
ExecStart=/usr/bin/node /opt/app/app.js
Restart=always
User=node

[Install]
WantedBy=multi-user.target

2. 启动

systemctl start yourapp

3. 查看日志

journalctl -u yourapp -f

四、Nginx / 反向代理日志(如有)

tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

五、开启 Node.js 自带调试日志(不常用)

NODE_DEBUG=* node app.js

总结建议

场景 推荐方式
本地开发 console
生产环境 PM2 / winston
系统服务 systemd + journalctl

如果你能说明:

  • 是 本地还是服务器
  • 是否用 PM2 / Docker / systemd
  • 想看 错误还是访问日志

我可以给你更精确的配置示例。

0 踩