在Node.js中,可以使用第三方库winston
和winston-daily-rotate-file
来实现日志轮转策略。以下是一个简单的示例:
winston
和winston-daily-rotate-file
这两个库。如果没有,请使用以下命令安装:npm install winston winston-daily-rotate-file
logger.js
的文件,并在其中设置日志轮转策略:const winston = require('winston'); const { format } = winston; const DailyRotateFile = require('winston-daily-rotate-file'); // 日志格式 const myFormat = format.combine( format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.errors({ stack: true }), format.splat(), format.json() ); // 创建一个名为logs的文件夹,用于存放日志文件 const transport = new DailyRotateFile({ filename: 'logs/application-%DATE%.log', datePattern: 'YYYY-MM-DD', zippedArchive: true, maxSize: '20m', maxFiles: '14d' }); // 创建一个winston logger实例 const logger = winston.createLogger({ level: 'info', format: myFormat, transports: [ transport ] }); module.exports = logger;
在这个示例中,我们设置了以下日志轮转策略:
application-日期.log
。logger
实例:const logger = require('./logger'); logger.info('Hello, world!');
这样,你的Node.js应用程序就会按照设置的策略进行日志轮转了。