Sometimes you need to keep versions of logs as you run a script several times, or every time you restart your server. As logs get older you compress them, and remove them after a while. This package includes several function that will allow you to do this from within your NodeJS code and keep it consistent thru different logs. It also allows you to specify options on a per log basis.
npm install --save file-sequence-generator
var fileSeq = require('file-sequence-generator');
// logs folder must exists already
var filepath = './logs/myjob.txt';
// get the functions from file-sequence-generator
var fileSeqInit = fileSeq.fileSeqInit;
var fileSeqNext = fileSeq.fileSeqNext;
// initialize the generator settings within ./logs/.file-sequences/myjob.txt.json as JSON
fileSeqInit(filepath, { keep: 2, compressed: 3, max: 10});
// generate the file ./logs/myjob.txt.01 as the first in the sequence
fileSeqNext(filepath);
// if you call fileSeqNext 3 more times you will end up with 4 files
// ./logs/myjob.txt.01.gz <-- stores this file as compressed
// ./logs/myjob.txt.02.gz <-- stores this file as compressed
// ./logs/myjob.txt.03 <-- keeps the original file
// ./logs/myjob.txt.04 <-- and so one
// based on the settings it will try to keep 3 compressed file and 2 uncompressed
// and when it gets to file ./logs/myjob.txt.09 it will loop around to .00 and so
// til infinitum.
npm run test
please look at the PULL_REQUEST_TEMPLATE.md