Skip to content

JuMastro/node-rotation-file

Repository files navigation

node-rotation-file

📄 Make rotation file with time or size.

Installation

Install with npm:

$ npm i --save node-rotation-file

The minimum version of Node to use node-rotation-file is v10.0.0.

Example

To read more information about node writable stream read : documentation.

const RotationFileStream = require('node-rotation-file')

const stream = new RotationFileStream({
  path: './logs/output.log',
  maxTime: '1D',
  maxSize: '10m',
  maxArchives: 14,
  archivesDirectory: './logs/archives',
  compressType: 'gzip'
})

for (let i = 0; i < 1e5; ++i) {
  stream.write('Helloworld!\n')
}

stream.end('Last line...')

Options

  • path

    • Type: string

    • Default:

    The file path location.

  • maxSize

    • Type: null | number | string

    • Default: "10m"

    The size as integer number, string tag or null.

  • maxTime

    • Type: null | number | string

    • Default: "1D"

    The size as integer number, string tag or null.

  • maxArchives

    • Type: null | number

    • Default: 14

    The number of file to keep in history.

  • archivesDirectory

    • Type: string

    • Default: dirname(path)

    The directory location where archives are stored.

  • compressType

    • Type: string

    • Default: "gzip"

    The compression type.

Events

  • init (once)

    • Emittable: false

    An event emitted once at stream initialization.

  • error (once)

    • Emittable: true

    An event emitted once when an error is encountered/throwed. It's can be used to throw an error and ending the stream.

  • rotate

    • Emittable: true

    An event emitted when stream will start a rotation. It's can be used to start a rotation.

  • open

    • Emittable: false

    An event emitted when the stream start to openning a writing sub-stream.

  • ready

    • Emittable: false

    An event emitted when the stream is ready to write.

  • close

    • Emittable: false

    An event emitted when the stream start to closing the writing sub-stream.

  • drain

    • Emittable: false

    An event emitted when the stream is ready to write again.

  • finish

    • Emittable: false

    An event emitted after the stream closing fine.

Dev dependencies

  • Jest Delightful JavaScript Testing.
  • Eslint Javascript linter.

About

📄 Create a rotation file by time or size

Resources

License

Stars

Watchers

Forks

Packages

No packages published