winston-array-transport

write logs to js Array

Usage no npm install needed!

<script type="module">
  import winstonArrayTransport from 'https://cdn.skypack.dev/winston-array-transport';
</script>

README

winston-array-transport

write winston logs directly to javascript Array.

Version Bundle size Downloads

CodeFactor SonarCloud Codacy Total alerts Language grade Scrutinizer

Dependencies Security Build Status Coverage Status

Commit activity FOSSA License

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

Platform Status

To use library you need to have node and npm installed in your machine:

  • node >=10
  • npm >=6

Package is continuously tested on darwin, linux and win32 platforms. All active and maintenance LTS node releases are supported.

Installation

To install the library run the 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. Then commit to your branch. Be sure to follow the commit message conventions. Read Contributing Guidelines for details.