3.0.0 • Published 9 years ago

wartremover v3.0.0

Weekly downloads
1,928
License
Apache-2.0
Repository
github
Last release
9 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

9 years ago

2.1.1

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.1

11 years ago

1.0.0

11 years ago