Skip to content

A nodejs tool to generate a sequence of filenames for logging

License

Notifications You must be signed in to change notification settings

victor-fdez/file-sequence-generator

Repository files navigation

file-sequence-generator

A NodeJS tool to generator a sequence of file names for logging (also compressed old files)

MIT licensed CircleCI

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.

Installation

npm install --save file-sequence-generator

Example

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.

Test

npm run test

Pull Request

please look at the PULL_REQUEST_TEMPLATE.md

About

A nodejs tool to generate a sequence of filenames for logging

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages