winston-array-transport
winston-array-transport write winston logs directly to javascript Array.
Table of Contents
Motivation
There are a lot of cases, where you need to parse and analyze your logs. For example to access them during tests. This package provides transport, that allows simply push logs to js array, so you don't need any runtime parsers anymore.
Requirements
To use library you need to have node and npm installed in your machine:
Installation
To install the library run following command
npm i --save winston-array-transport
Usage
The package can be used alongside any other winston transport.
import ArrayTransport from 'winston-array-transport';
import { createLogger } from 'winston';
const logs = [];
const transport = new ArrayTransport({ array: logs, json: true, level: 'info' });
export const logger = createLogger({
transports : [ transport ]
});
Configuration
Next options can be configured while transport creation:
- name - name of a transport,
ArrayTransport
by default; - eol - end of line ,
os.EOL
by default; - array - array, where all logs will be stored;
- parser - function, that will be applied to log messages;
- json - if set to
true
, JSON.parse
parser will be used; - limit - allows to limit amount of logs to
n
last items;
Contribute
Make the changes to the code and tests and then commit to your branch. Be sure to follow the commit message conventions.
Commit message summaries must follow this basic format:
Tag: Message (fixes #1234)
The Tag is one of the following:
- Fix - for a bug fix.
- Update - for a backwards-compatible enhancement.
- Breaking - for a backwards-incompatible enhancement.
- Docs - changes to documentation only.
- Build - changes to build process only.
- New - implemented a new feature.
- Upgrade - for a dependency upgrade.
- Chore - for tests, refactor, style, etc.
The message summary should be a one-sentence description of the change. The issue number should be mentioned at the end.