在Debian系统上,Node.js的日志轮转机制可以通过配置文件或代码实现。以下是使用winston
库进行日志轮转配置的示例:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({
filename: 'error.log',
level: 'error',
maxsize: 10485760, // 10MB
maxfiles: 5, // 保留5个备份文件
}),
new winston.transports.File({
filename: 'combined.log',
}),
new winston.transports.Console(),
],
});
logger.info('这是一条信息日志');
logger.error('这是一条错误日志');
在这个示例中,我们使用RotatingFileHandler
来实现日志轮转。maxsize
参数设置每个日志文件的最大大小(10MB),maxfiles
参数设置保留的旧日志文件数量(5个)。当日志文件达到指定大小时,新的日志将被创建,旧日志文件将被重命名并保留。
此外,对于Docker容器化应用,可以使用Docker的日志驱动来管理日志轮转。例如,使用json-file
日志驱动,并通过--log-opt
参数配置日志轮转策略:
docker run -d --name my_app --log-driver local --log-opt max-size=10m --log-opt max-file=3 my_image
在这个示例中,每个日志文件的最大大小设置为10MB,并保留3个旧日志文件。
通过上述配置,可以有效地管理Node.js应用的日志轮转,确保日志文件不会过大,且方便后续的日志分析和问题追踪。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: debian挂载外部硬盘教程