2.0.2 • Published 9 years ago

record-sink v2.0.2

Weekly downloads
5
License
ISC
Repository
github
Last release
9 years ago

record-sink

NPM Version Build Status Coverage Status

Sink for records where the final processing and serialization happens.

Installation

npm install --save record-sink

Usage

This module is building block for creating message logging system and as such doesn't do much on it's own. By combining it with some stream magic it's possible to create a quick and dirty log method that writes neatly formatted log entries to stderr and to a file.

var Sink = require('record-sink')
  , Record = require('log-record')
  , through2 = require('through2')
  , fs = require('fs')
  , logger

logger = through2.obj({objectMode: true}, function (data, enc, cb) {
  cb(null, data)
})

logger.pipe(new Sink())
logger.pipe(new Sink(fs.createWriteStream('application.log')))

function log() {
  var args = Array.prototype.slice.call(arguments)
    , msg = args.shift()
    , record = new Record('main', 20, new Date(), msg, args)

  logger.write(record)
}

log("hello %s", "world")