温馨提示×

debian nodejs日志级别怎么改

小樊
33
2026-09-07 07:18:28
栏目: 编程语言

在 Debian 上修改 Node.js 的“日志级别”,要看你指的是哪一层的日志,不同场景做法不一样。下面按常见情况给你说明。


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

Node.js 本身没有统一的全局日志级别,日志级别通常由你用的日志库控制。

1. 使用 Winston

const winston = require('winston');

const logger = winston.createLogger({
  level: 'info', // 可改为 error / warn / info / http / verbose / debug / silly
  transports: [new winston.transports.Console()]
});

修改方式:

  • 改代码里的 level
  • 或用环境变量:
level: process.env.LOG_LEVEL || 'info'
LOG_LEVEL=debug node app.js

2. 使用 Pino

const pino = require('pino');
const logger = pino({ level: process.env.LOG_LEVEL || 'info' });

3. 使用 console(无级别)

console.log / error / warn 无法调级别,只能靠代码控制是否打印。


二、通过 systemd 管理 Node.js 服务(Debian 常见)

如果你用 systemd 启动 Node.js:

查看日志

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

调整 systemd 日志级别(不是 Node 内部)

# /etc/systemd/system/your-node-service.service
[Service]
Environment=LOG_LEVEL=debug

然后:

sudo systemctl daemon-reload
sudo systemctl restart your-node-service

三、npm 日志级别(安装/运行阶段)

如果你说的是 npm 的日志:

npm config set loglevel verbose
# 可选:silent / error / warn / http / info / verbose / silly

或临时:

npm run start --loglevel verbose

四、PM2 管理的 Node.js

pm2 start app.js --log-level debug

或:

pm2 set pm2:log-level debug

查看:

pm2 logs

五、Node.js 内部调试日志(V8 / 模块)

node --trace-warnings app.js
node --inspect app.js
NODE_DEBUG=http,net node app.js

总结(快速判断)

你想改什么 改哪里
应用日志级别 日志库(winston/pino)
systemd 服务 Environment + journalctl
npm 日志 npm config
PM2 pm2 log-level
Node 内部 NODE_DEBUG / --trace

如果你能告诉我:

  • 用的是 哪个日志库
  • 直接运行 / systemd / PM2 / Docker

我可以给你精确配置示例

0