温馨提示×

debian nodejs日志级别怎调整

小樊
47
2026-09-04 02:52:20
栏目: 编程语言

在 Debian 上调整 Node.js 日志级别,要看你指的是系统层面还是应用层面。下面分情况说明:


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

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

1. 使用 npm 日志库(winston / pino / log4js 等)

✅ winston 示例

const winston = require('winston');

const logger = winston.createLogger({
  level: 'info', // debug | info | warn | error
  transports: [new winston.transports.Console()]
});

修改:

level: 'debug'

✅ pino 示例

const pino = require('pino');
const logger = pino({ level: 'info' });

✅ 通过环境变量控制(推荐)

LOG_LEVEL=debug node app.js

应用里:

level: process.env.LOG_LEVEL || 'info'

2. Express / 框架日志

morgan

app.use(morgan('dev')); // dev | tiny | combined

生产建议:

morgan('combined')

二、Node.js 运行时日志(V8 / 内部)

Node.js 本身很少直接产生日志,但可以通过以下方式开启:

1. 开启 Node 内部调试

node --trace-warnings app.js
node --inspect app.js

2. NODE_DEBUG(仅部分模块)

NODE_DEBUG=http,net node app.js

三、systemd(Debian 服务)日志级别

如果你的 Node.js 是 systemd 服务

查看日志

journalctl -u yourapp.service

systemd 本身日志级别(不影响 Node)

sudo journalctl -p err

或修改:

[Service]
LogLevelMax=info

四、PM2(常见部署方式)

查看日志级别

pm2 logs

设置日志

pm2 start app.js --log-date-format "YYYY-MM-DD HH:mm:ss"

PM2 不控制应用日志级别,只控制输出管理


五、Nginx(如果有反向代理)

error_log /var/log/nginx/error.log warn;

总结

场景 调整方式
Node 应用日志 日志库 level
环境变量 LOG_LEVEL
systemd journalctl
PM2 仅日志管理
Nginx error_log

如果你能告诉我:

  • 用的是 哪个框架 / 日志库
  • systemd / PM2 / Docker
  • 想调 debug 还是减少日志

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

0