/winston-console-formatter

Pretty print console formatter in yaml like style

Primary LanguageJavaScriptMIT LicenseMIT

Winston console formatter

Build Status Code Coverage

Pretty print console formatter in yaml like style

Install

npm install winston-console-formatter

This is custom config for default winston console transform.

Usage

const winston = require('winston');
const wcf = require('winston-console-formatter');

const logger = new winston.Logger({
  level: 'silly',
});

const { formatter, timestamp } = wcf();

logger.add(winston.transports.Console, {
  formatter,
  timestamp,
});

logger.log('error', 'message');
logger.log('warn', 'message');
logger.log('info', 'message');
logger.log('verbose', 'message');
logger.log('debug', 'message');
logger.log('silly', 'message');

API

wcf.config(options)

options

Type: Object

options.types

Type colors configuration for yamlify-object package
Default:

wcf({
  types: require('yamlify-object-colors'),
});

Meta object example

To disable types colors pass false:

wcf({
  types: false,
});
options.colors

Message colors by log levels
Default:

const clc = require('cli-color');

wcf({
  colors: {
    silly: clc.blue,
    debug: clc.cyan,
    info: clc.green,
    warn: clc.yellow,
    error: clc.red,
    verbose: clc.magenta,
  },
});

Levels color

To disable colors pass false:

wcf({
  colors: false,
});
options.stackTrace

Showing passed to meta object stack or trace prop
Type: boolean
Default: true

options.meta

Showing meta object
Type: boolean
Default: true

options.prefix

Type: string
Default: ''

options.postfix

Type: string
Default: ''

Message line

winston-console-formatter can take winston label option to enrich message line:

logger.add(winston.transports.Console, {
  formatter,
  timestamp,
  label: 'some label',
});

logger.log('error', 'message');

Label

Also winston-console-formatter can handle from and stack props from meta object to enrich message line

from

const meta = {
  from: 'Browser',
};
logger.log('error', 'message', meta);

From

stack

try {
  undefined();
} catch (e) {
  logger.error(e.toString(), {
    stack: e.stack,
  });
}

Stack