要减少Node.js日志输出,您可以采取以下几种方法:
例如,使用winston库设置日志级别:
const winston = require('winston');
const logger = winston.createLogger({
level: 'warn', // 设置日志级别为warn,只显示warn、error级别的日志
format: winston.format.json(),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' }),
],
});
例如,使用winston库设置日志文件大小和数量限制:
const winston = require('winston');
const { combine, timestamp, printf } = winston.format;
const myFormat = printf(({ level, message, timestamp }) => {
return `${timestamp} ${level.toUpperCase()}: ${message}`;
});
const logger = winston.createLogger({
level: 'info',
format: combine(timestamp(), myFormat),
transports: [
new winston.transports.File({ filename: 'combined.log', maxsize: 200000, maxFiles: 3 }),
],
});
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'combined.log' }),
],
});
if (process.env.NODE_ENV === 'production') {
logger.level = 'warn'; // 在生产环境中,只显示warn和error级别的日志
}
通过以上方法,您可以有效地减少Node.js日志输出,从而提高应用程序的性能和可维护性。