gpt4 book ai didi

node.js - 如何在特定天数限制后从 winston 日志中删除文件?

转载 作者:搜寻专家 更新时间:2023-10-31 22:54:20 25 4
gpt4 key购买 nike

我正在使用 winston 将文件记录到按预期工作的服务器中,现在我想设置天数限制,假设 3 天后我想删除 3 天前记录的文件,是否可以使用 winston 实现旋转?

主要.js

 winston.add(winston.transports.File, {
filename: './Logs/server.log',
maxsize:'15000',
timestamp:false
});

最佳答案

您可以使用 Winston daily rotate为了这。

简短回答:是的,您可以通过在 transport 选项中添加 maxFiles:3d 来实现。

  • 如果您不设置maxFiles,则不会删除任何日志文件。

  • 如果您设置 maxFiles:3d,它将删除最近 3 天内创建的所有日志文件。

  • 如果设置maxFiles:3,超过3个就会删除日志文件。

注意:您可以在删除前使用 zippedArchive: true 存档文件,如果未设置,日志文件将在没有任何备份的情况下被删除。直到现在,我还没有任何方法可以自动删除 zip 文件。

示例设置:

  require('winston-daily-rotate-file');

var transport = new (winston.transports.DailyRotateFile)({
filename: 'application-%DATE%.log',
datePattern: 'YYYY-MM-DD-HH',
zippedArchive: true,
maxSize: '20m',
maxFiles: '14d'
});

transport.on('rotate', function(oldFilename, newFilename) {
// do something fun
});

var logger = winston.createLogger({
transports: [
transport
]
});

logger.info('Hello World!');```


关于node.js - 如何在特定天数限制后从 winston 日志中删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38273226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com