fast-file-rotate

A performant file transport providing daily log rotation for winston.

Usage no npm install needed!

<script type="module">
  import fastFileRotate from 'https://cdn.skypack.dev/fast-file-rotate';
</script>

README

fast-file-rotate

Build Status Coverage Status NPM version Greenkeeper badge JavaScript Style Guide

A performant file transport providing daily log rotation for winston.

Install

npm install fast-file-rotate

Example

const FileRotateTransport = require('fast-file-rotate');
const winston = require('winston');

const logger = winston.createLogger({
  transports: [
    new FileRotateTransport({
      fileName: __dirname + '/console%DATE%.log',
      dateFormat: 'DDMMYYYY'
    })
  ]
})

API

FileRotateTransport(options)

fileName

The name of the log file(s). Must contain a %DATE% placeholder.

dateFormat (optional)

The format of the date that will replace the placeholder %DATE% in the file name. Defaults to DDMMYYYY.
Supports all formating options of fast-date-format.

bufferSize

The size of the internal buffer that is used to store the logs before writing them to the file. Defaults to 4096.

Benchmark

The benchmark compares to the winston-daily-rotate-file module:

benchFastFileRotate*10000: 175.397ms
benchWinstonDailyRotateFile*10000: 580.341ms
benchFastFileRotate*10000: 141.746ms
benchWinstonDailyRotateFile*10000: 545.736ms

License

MIT