# winston-console-formatter

> Pretty print console formatter in yaml like style

Latest version **1.0.0-beta.3** (published 2018-03-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install winston-console-formatter
pnpm add winston-console-formatter
yarn add winston-console-formatter
bun add winston-console-formatter
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0-beta.3 |
| Published | 2018-03-04 |
| First published | 2015-11-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 142.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 24 |
| Author | Eugeny Dementev |
| Maintainers | eugeny-dementev |
| Keywords | winston, console, formatter, config, yaml, beauty |

## Links

- npm: https://www.npmjs.com/package/winston-console-formatter
- Repository: https://github.com/eugeny-dementev/winston-console-formatter
- Issues: https://github.com/eugeny-dementev/winston-console-formatter/issues
- npm.io page: https://npm.io/package/winston-console-formatter

## Dependencies (3)

- [cli-color](https://npm.io/package/cli-color.md) ^1.2.0
- [yamlify-object](https://npm.io/package/yamlify-object.md) ^0.5.1
- [yamlify-object-colors](https://npm.io/package/yamlify-object-colors.md) ^1.0.3

## Alternatives

- [monaco-yaml](https://npm.io/package/monaco-yaml.md) — 420.1K weekly downloads
- [@crewx/workflow](https://npm.io/package/@crewx/workflow.md) — 3.1K weekly downloads
- [yaml-cat](https://npm.io/package/yaml-cat.md) — 38 weekly downloads
- [nunjucks-in-yaml](https://npm.io/package/nunjucks-in-yaml.md) — 9 weekly downloads
- [shopify-symlinks](https://npm.io/package/shopify-symlinks.md) — 3 weekly downloads

## Recent versions

- 1.0.0-beta.3 (latest) — 2018-03-04
- 1.0.0-beta.2 — 2018-02-28
- 1.0.0-beta.1 — 2018-01-15
- 1.0.0-beta.0 — 2017-12-29
- 1.0.0-alpha.13 — 2017-12-29
- 1.0.0-alpha.12 — 2017-12-28
- 1.0.0-alpha.11 — 2017-12-28
- 1.0.0-alpha.10 — 2017-12-27
- 1.0.0-alpha.9 — 2017-12-27
- 1.0.0-alpha.8 — 2017-12-21
- 1.0.0-alpha.7 — 2017-12-21
- 1.0.0-alpha.6 — 2017-12-21
- 1.0.0-alpha.5 — 2017-12-21
- 1.0.0-alpha.4 — 2017-12-21
- 1.0.0-alpha.3 — 2017-12-13
- … 7 more at https://npm.io/package/winston-console-formatter/versions

## README

# Winston console formatter

[![Build Status][travis-img]][travis-url]
[![Code Coverage][codecov-img]][codecov-url]

Pretty print console formatter in yaml like style

## Install

```
npm install winston-console-formatter
```

This is custom config for default winston console transform.

## Usage

```js
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<br> Default:

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

![Meta object example](/log.png?raw=true "Types example")

To disable types colors pass `false`:

```js
wcf({
  types: false,
});
```

##### options.colors

Message colors by log levels<br> Default:

```js
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](/winston.png?raw=true "Levels color example")

To disable colors pass `false`:

```js
wcf({
  colors: false,
});
```

##### options.stackTrace

Showing passed to meta object `stack` or `trace` prop<br> Type: `boolean`<br>
Default: `true`

##### options.meta

Showing meta object<br> Type: `boolean`<br> Default: `true`

##### options.prefix

Type: `string`<br> Default: `''`

##### options.postfix

Type: `string`<br> Default: `''`

## Message line

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

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

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

![Label](/label.png?raw=true "Label example")

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

### from

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

![From](/from.png?raw=true "From example")

### stack

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

![Stack](/stack.png?raw=true "Stack example")

[travis-img]: https://travis-ci.org/eugeny-dementev/winston-console-formatter.svg?branch=master
[travis-url]: https://travis-ci.org/eugeny-dementev/winston-console-formatter
[codecov-img]: https://codecov.io/github/eugeny-dementev/winston-console-formatter/coverage.svg?branch=master
[codecov-url]: https://codecov.io/github/eugeny-dementev/winston-console-formatter?branch=master

---
_Source: https://npm.io/package/winston-console-formatter · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
