在Node.js中,可以使用第三方库winston和winston-daily-rotate-file来实现日志分割。下面是一个简单的示例:
首先,确保你已经安装了Node.js。如果没有,请访问Node.js官网下载并安装。
打开终端或命令提示符,运行以下命令来安装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 logPath = './logs';
// 日志文件名格式
const logFileName = 'application-%DATE%.log';
// 日志级别
const logLevel = 'info';
// 创建一个winston日志记录器
const logger = winston.createLogger({
level: logLevel,
format: format.combine(
format.timestamp(),
format.printf(({ timestamp, level, message }) => {
return `${timestamp} [${level.toUpperCase()}]: ${message}`;
})
),
transports: [
new DailyRotateFile({
filename: logPath + '/' + logFileName,
datePattern: 'YYYY-MM-DD',
zippedArchive: true,
maxSize: '20m',
maxFiles: '14d'
})
]
});
module.exports = logger;
在这个示例中,我们创建了一个名为logger的winston日志记录器,并配置了日志级别、日志格式和日志文件路径。我们还使用了winston-daily-rotate-file库来实现日志分割,每天生成一个新的日志文件,并将旧日志文件压缩保存。
logger记录日志。例如,在app.js文件中添加以下代码:const logger = require('./logger');
logger.info('Hello, World!');
logger.error('An error occurred');
logs文件夹中的相应日志文件中,并根据配置进行分割。这个示例仅作为起点,你可以根据自己的需求调整日志级别、日志格式、日志文件路径等配置。更多关于winston和winston-daily-rotate-file的信息,请参考官方文档: