Node.js自动维护Winston日志

时间:2019-01-22 10:36:04

标签: node.js winston

我正在尝试将winston集成到nodeJs Express应用程序中。它可以工作,但我不知道如何自动维护。我想要类似的内容,例如达到50000行时,先删除第一个行,然后再添加新行作为空间。这个想法是在没有cron的情况下完成的。有可能吗?

这是我的测试代码:

//Winston logger
const { createLogger, format, transports } = require('winston');
const { combine, timestamp, label, printf } = format;
const winstonFormat = printf(info => {
    return `${info.timestamp} [${info.label}] ${info.level}: ${info.message}`;
});
const logger = createLogger({
    level: 'info',
    //maxsize:'10000', //It doesn't works for me
    format: combine(
        label({ label: config.environment }),
        timestamp(),
        winstonFormat
    ),
    transports: [
        new transports.File({ filename: 'error.log', level: 'error' }),
        new transports.File({ filename: 'combined.log' })
    ]
});

if (process.env.NODE_ENV !== 'production') {
    logger.add(new transports.Console({
        format: format.simple()
    }));
}

1 个答案:

答案 0 :(得分:1)

您正在寻找日志轮换,因此谷歌搜索“ winston日志轮换”指向https://github.com/winstonjs/winston-daily-rotate-file,这很可能就是您要买的票。