@tryghost/bunyan-rotating-filestream
v0.0.12
Published
Maintainers
Keywords
Readme
Bunyan Rotating Filestream
Install
npm install @tryghost/bunyan-rotating-filestream --save
or
pnpm add @tryghost/bunyan-rotating-filestream
Purpose
A rotating file stream for the bunyan logger, supporting period-based and size-based rotation, gzip compression of archives, and limits on the number and total size of archived files.
Usage
Create a bunyan logger using the stream:
const log = bunyan.createLogger({
name: 'foo',
streams: [
{
stream: new RotatingFileStream({
path: '/var/log/foo.log',
period: '1d', // daily rotation
totalFiles: 10, // keep up to 10 backup copies
rotateExisting: true, // Give ourselves a clean file when we start up, based on period
threshold: '10m', // Rotate log files larger than 10 megabytes
totalSize: '20m', // Don't keep more than 20mb of archived log files
gzip: true, // Compress the archive log files to save space
}),
},
],
});Other options include startNewFile to always open a new file on start-up.
Develop
This is a mono repository, managed with Nx.
Follow the instructions for the top-level repo.
git clonethis repo &cdinto it as usual- Run
pnpm installto install top-level dependencies.
Run
pnpm dev
Test
pnpm lintruns oxlintpnpm testruns lint and tests
Credit
Many thanks to @Rcomian for their work on the original bunyan-rotating-file-stream project, this project borrows lots of the code and all of the ideas in the original.
Copyright & License
Copyright (c) 2013-2026 Ghost Foundation - Released under the MIT license.
