温馨提示×

nodejs linux日志怎么开启

小樊
40
2026-10-08 11:16:38
栏目: 编程语言

在 Node.js 部署于 Linux 环境下,“开启日志”通常分 应用层日志 和 系统/进程层日志 两种情况。下面按常见场景给你说明。


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

1️⃣ 使用 console(最简单)

console.log('info');
console.error('error');

启动:

node app.js

日志直接在终端显示。


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

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

持续追加:

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

3️⃣ 使用日志库(生产推荐)

常用库:

  • winston
  • pino
  • log4js

示例(winston):

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

logger.info('server started');

二、使用 PM2(Linux 生产环境最常见)

安装

npm install -g pm2

启动并自动记录日志

pm2 start app.js

查看日志:

pm2 logs

日志默认位置:

~/.pm2/logs/

配置日志大小(防止爆盘):

pm2 start app.js --log /var/log/node/app.log

三、Systemd 方式(服务器级)

1️⃣ 创建 service

# /etc/systemd/system/node-app.service
[Unit]
Description=Node App

[Service]
ExecStart=/usr/bin/node /opt/app/app.js
WorkingDirectory=/opt/app
User=node
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=node-app

[Install]
WantedBy=multi-user.target

2️⃣ 启动

systemctl daemon-reload
systemctl start node-app

3️⃣ 查看日志

journalctl -u node-app -f

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

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

五、调试日志(开发用)

DEBUG=* node app.js

或:

NODE_DEBUG=http,net node app.js

总结推荐方案

场景 推荐方式
本地调试 console
生产运行 PM2 / systemd
长期存储 文件 + logrotate
高并发 pino

如果你能告诉我:

  • 是否是 生产环境
  • 是否用 PM2 / Docker / Nginx
  • 想看 错误日志还是访问日志

我可以直接给你一份可复制的配置。

0 踩