3.0.0 • Published 7 years ago

wartremover v3.0.0

Weekly downloads
1,928
License
Apache-2.0
Repository
github
Last release
7 years ago

wartremover

Bunyan writes log records as json, and provides a command-line tool to parse the json and generate pretty, colored text for humans.

Wartremover allows the human-readable text to be generated inside your server code. It's a stream transform that accepts bunyan json logging and writes human-formatted text.

Unlike bunyan, it enforces a "one log entry per line" policy. Every line must be a complete entry, with timestamp and log-level prefix. (An exception is made for stack traces, which are written on multiple lines atomically, but each line will still contain the same prefix.)

Example:

import * as bunyan from "bunyan";
import { WartRemover } from "wartremover";

const wart = new WartRemover();
wart.pipe(process.stdout);
const log = bunyan.createLogger({ name: "myserver", streams: [ { level: "debug", stream: wart } ]);

log.info("I am writing a debug message!");

Sample log line:

[20141230-06:21:34.773] INF myserver: I am writing a debug message!

Options

The WartRemover class takes an options object in its constructor. The available options are:

  • color: true/false, whether to use ANSI colors in the output (default: true)

  • stringifiers: object, a map of log record keys and functions to stringify them. For example, if you add a req record to logs like this:

log.debug({ req: { method: "GET", url: "/lamp", responseCode: "200" } }, "...");

then you can tell WartRemover how to turn the request object into a string by passing:

stringifiers: {
  req: function (req) {
    return "url=" + req.url + " method=" + req.method + " code=" + req.responseCode;
  }
}
  • headerFields: array, a list of fields that should appear in the header, at the beginning of the log line, instead of attached to the end

License

Apache 2 (open-source) license, included in 'LICENSE.txt'.

Authors

@robey - Robey Pointer robeypointer@gmail.com

3.0.0

7 years ago

2.1.1

8 years ago

2.0.3

8 years ago

2.0.2

8 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.3.1

9 years ago

1.3.0

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago