如何调整winston-daily-rotate-file的日期格式生成无横杠的轮转日志文件名
winston-daily-rotate-file 自定义无分隔符日期文件名配置方案
winston-daily-rotate-file本身支持通过配置修改%DATE%占位符的输出格式,不需要额外编码动态生成文件名,也不需要重启应用即可按天正常轮转。
核心配置步骤
只需要在实例化轮转传输对象时,新增datePattern参数指定日期格式即可,该参数遵循date-fns的格式规则,要生成DDMMYYYY格式的无横杠日期,将参数值设为ddMMyyyy即可,参考配置示例:
const winston = require('winston'); const DailyRotateFile = require('winston-daily-rotate-file'); const rotateTransport = new DailyRotateFile({ // 保持原有的文件名占位写法 filename: '%DATE%-frontendlogs.txt', // 新增该行配置指定日期格式为日/月/四位年,无任何分隔符 datePattern: 'ddMMyyyy', // 其他原有配置保持不变,示例如下可按需调整 maxSize: '20m', maxFiles: '30d', zippedArchive: true }); const logger = winston.createLogger({ transports: [rotateTransport] });
配置注意事项
- 日期格式符号严格区分大小写:
MM代表两位月份、mm代表两位分钟,dd代表两位日期,yyyy代表四位年份,写错符号会导致日期输出不符合预期 - 如果需要调整日期顺序,比如要生成
20210525这类年月日格式的前缀,将datePattern改为yyyyMMdd即可
内容的提问来源于stack exchange,提问作者Nas Ahmet
相关产品推荐
相关产品推荐

