在 Node.js 里“日志级别怎么改”取决于你用的是哪个日志库。下面按常见情况说明:
console(最简单)console 本身没有级别控制,只能自己封装:
const LOG_LEVEL = 'warn'; // debug | info | warn | error
const logger = {
debug: (...args) => LOG_LEVEL === 'debug' && console.log(...args),
info: (...args) => ['debug','info'].includes(LOG_LEVEL) && console.log(...args),
warn: (...args) => ['debug','info','warn'].includes(LOG_LEVEL) && console.warn(...args),
error: (...args) => console.error(...args),
};
const winston = require('winston');
const logger = winston.createLogger({
level: 'info', // debug | info | warn | error
transports: [new winston.transports.Console()]
});
logger.level = 'debug';
level: process.env.LOG_LEVEL || 'info'
运行:
LOG_LEVEL=debug node app.js
const pino = require('pino');
const logger = pino({ level: 'info' });
运行时修改:
logger.level = 'debug';
或环境变量:
PINO_LEVEL=debug node app.js
const log4js = require('log4js');
log4js.configure({
appenders: { out: { type: 'stdout' } },
categories: {
default: { appenders: ['out'], level: 'info' }
}
});
const logger = log4js.getLogger();
logger.level = 'debug'; // 动态修改
app.useLogger(new Logger('info'));
或在 LoggerModule 配置 level
error > warn > info > debug > verbose
如果你能告诉我:
我可以给你更精确的代码。