Socket
Socket
Sign inDemoInstall

bunyan-rotating-file-stream

Package Overview
Dependencies
3
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.5.0 to 1.5.1

5

CHANGES.md
# bunyan Changelog
## 1.5.1
- Fixed an issue with gzipped files not being deleted when using datestamps
- Fixed an issue with gzipped files not being rotated correctly when continuing an existing log file
## 1.5.0 Templates Release

@@ -4,0 +9,0 @@

107

lib/datestampedfileops.js

@@ -16,2 +16,4 @@ var fs = require('fs');

var reopenedFilePath = null;
function getFilesInLogDirectory(next) {

@@ -25,25 +27,33 @@ fs.readdir(path.resolve(parsedPath.dir), function (err, files) {

function filterJustOurLogFiles(files, next) {
var logfiles = _.filter(files, function (file) {
var parsedFile = path.parse(
path.resolve(
path.join(
parsedPath.dir,
file
function filterJustOurLogFiles(includeZipFiles) {
return function (files, next) {
var logfiles = _.filter(files, function (file) {
var parsedFile = path.parse(
path.resolve(
path.join(
parsedPath.dir,
file
)
)
)
);
);
if (parsedFile.ext === '.gz') {
var splitname = parsedFile.name.split('.');
parsedFile.ext = splitname.slice(-1).join('');
parsedFile.name = splitname.slice(0, -1).join('');
}
var prefix = parsedPath.name.split('%').slice(0, 1).join('');
var prefix = parsedPath.name.split('%').slice(0, 1).join('');
return (parsedFile.name.indexOf(prefix) === 0 &&
parsedFile.ext === parsedPath.ext);
});
if (includeZipFiles && parsedFile.ext === '.gz') {
var splitname = parsedFile.name.split('.');
parsedFile.ext = '.' + splitname.slice(-1).join('');
next(null, logfiles);
if (parsedFile.ext === '.') {
parsedFile.ext === '';
}
parsedFile.name = splitname.slice(0, -1).join('');
}
return (parsedFile.name.indexOf(prefix) === 0 &&
parsedFile.ext === parsedPath.ext);
});
next(null, logfiles);
}
}

@@ -111,12 +121,13 @@

function getSortedLogFiles(next) {
async.waterfall([
getFilesInLogDirectory,
filterJustOurLogFiles,
statEachFile,
sortFilesByModifiedTime
], function (err, logfiles) {
next(err, logfiles);
});
function getSortedLogFiles(matchzippedfiles) {
return function (next) {
async.waterfall([
getFilesInLogDirectory,
filterJustOurLogFiles(matchzippedfiles),
statEachFile,
sortFilesByModifiedTime
], function (err, logfiles) {
next(err, logfiles);
});
}
}

@@ -126,3 +137,3 @@

async.waterfall([
getSortedLogFiles,
getSortedLogFiles(true),
deleteFilesAfterCountBreach,

@@ -140,19 +151,23 @@ deleteFilesAfterSizeBreach

function internalGetStreamFilepath(gzipped, nonce) {
var result = Object.assign({}, parsedPath);
var result;
if (reopenedFilePath !== null) {
result = path.parse(reopenedFilePath);
} else {
result = Object.assign({}, parsedPath);
if (nonce === 0) {
result.name = result.name
.replace('.%N', '')
.replace('_%N', '')
.replace('-%N', '')
.replace('%N', '');
} else if (result.name.indexOf('%N') >= 0) {
result.name = result.name.replace('%N', String(nonce));
} else {
result.name = result.name + '.' + String(nonce);
}
if (nonce === 0) {
result.name = result.name
.replace('.%N', '')
.replace('_%N', '')
.replace('-%N', '')
.replace('%N', '');
} else if (result.name.indexOf('%N') >= 0) {
result.name = result.name.replace('%N', String(nonce));
} else {
result.name = result.name + '.' + String(nonce);
result.name = strftime(result.name, filenameTimestamp);
}
result.name = strftime(result.name, filenameTimestamp);
if (gzipped) {

@@ -215,2 +230,3 @@ result.ext += '.gz';

function createNewFile(next) {
reopenedFilePath = null;
findUnusedFile(0, function (err, filepath, foundnonce) {

@@ -231,3 +247,3 @@ nonce = foundnonce || 0;

} else {
getSortedLogFiles(function (err, logfiles) {
getSortedLogFiles(false)(function (err, logfiles) {
if (err) {

@@ -240,3 +256,4 @@ return next(err);

} else {
next(null, logfiles[0].path);
reopenedFilePath = logfiles[0].path;
next(null, reopenedFilePath);
}

@@ -243,0 +260,0 @@ });

{
"name": "bunyan-rotating-file-stream",
"version": "1.5.0",
"version": "1.5.1",
"description": "a rotating file stream for the bunyan logging system",

@@ -5,0 +5,0 @@ "author": "Jim Tupper <npm@tupper.org.uk> (http://github.com/rcomian)",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc