温馨提示×

Debian Nodejs日志怎么开启

小樊
37
2026-07-13 03:53:07
栏目: 编程语言

在 Debian 上开启 Node.js 日志,要看你指的是应用日志还是系统/运行日志。下面按常见场景给你一份实用指南。


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

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

1️⃣ 使用 console.log / console.error

最简单方式:

console.log('info: server start');
console.error('error: db connect failed');

但这种方式只输出到 stdout / stderr,不会自动保存文件。


2️⃣ 输出到日志文件(推荐)

方法一:重定向(适合简单场景)

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

⚠️ 缺点:进程重启日志会丢失


方法二:使用日志库(强烈推荐)

常用库:

  • winston(最常用)
  • pino(高性能)
  • bunyan
示例:winston
npm install winston
const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

logger.info('Node.js 启动成功');
logger.error('数据库连接失败');

日志文件会直接生成在 Debian 服务器上。


二、使用 systemd(Debian 9+ 常见)

如果你用 systemd 管理 Node.js 服务(如 pm2 或直接 systemd)

1️⃣ systemd 自动记录日志

Node.js 输出到 stdout/stderr 的日志会被 systemd 捕获:

journalctl -u your-node-service.service -f

2️⃣ 查看全部 Node 日志

journalctl -f | grep node

✅ 不需要额外配置


三、使用 PM2(Debian 上非常常见)

1️⃣ 查看日志

pm2 logs
pm2 logs app-name

2️⃣ 日志路径

默认在:

~/.pm2/logs/

3️⃣ 开启日志分割(防止过大)

pm2 install pm2-logrotate

四、Nginx 反向代理日志(如果用了 Nginx)

访问日志

/var/log/nginx/access.log

错误日志

/var/log/nginx/error.log

查看:

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

五、调试日志(开发/排错)

开启 Node.js 内部调试

NODE_DEBUG=* node app.js

或指定模块:

NODE_DEBUG=http,net node app.js

六、推荐组合(生产环境)

生产环境最佳实践

  • Node.js + winston
  • 日志写入 /var/log/node/
  • systemdPM2
  • pm2-logrotate / logrotate

七、你可以直接告诉我

我可以给你精确配置,只需要你回答:

1️⃣ 你是 PM2 / systemd / 直接 node 启动
2️⃣ Debian 版本(cat /etc/os-release
3️⃣ 想看 错误日志 / 访问日志 / 调试日志

我可以直接给你一份可用的配置文件 ✅

0