在 Debian 上调整 Node.js 日志级别,要看你指的是系统层面还是应用层面。下面分情况说明:
Node.js 本身没有统一“日志级别”,通常由你用的日志库控制。
const winston = require('winston');
const logger = winston.createLogger({
level: 'info', // debug | info | warn | error
transports: [new winston.transports.Console()]
});
修改:
level: 'debug'
const pino = require('pino');
const logger = pino({ level: 'info' });
LOG_LEVEL=debug node app.js
应用里:
level: process.env.LOG_LEVEL || 'info'
app.use(morgan('dev')); // dev | tiny | combined
生产建议:
morgan('combined')
Node.js 本身很少直接产生日志,但可以通过以下方式开启:
node --trace-warnings app.js
node --inspect app.js
NODE_DEBUG=http,net node app.js
如果你的 Node.js 是 systemd 服务:
journalctl -u yourapp.service
sudo journalctl -p err
或修改:
[Service]
LogLevelMax=info
pm2 logs
pm2 start app.js --log-date-format "YYYY-MM-DD HH:mm:ss"
PM2 不控制应用日志级别,只控制输出管理。
error_log /var/log/nginx/error.log warn;
| 场景 | 调整方式 |
|---|---|
| Node 应用日志 | 日志库 level |
| 环境变量 | LOG_LEVEL |
| systemd | journalctl |
| PM2 | 仅日志管理 |
| Nginx | error_log |
如果你能告诉我:
我可以给你更精确的配置示例。