node package manager
Orgs are free. Discover, share, and reuse code in your team. Create a free org »

gelf-stream

gelf-stream

Build Status

A node.js stream to send JS objects to a Graylog2 server (in GELF format).

Also provides a stream that can be used directly in Bunyan and provides a number of sane mappings.

Example

var split = require('split'),
    bunyan = require('bunyan'),
    gelfStream = require('gelf-stream')
 
// gelf-stream comes with Bunyan support 
 
var stream = gelfStream.forBunyan('localhost')
 
var log = bunyan.createLogger({name: 'foo', streams: [{type: 'raw', stream: stream}]})
 
log.info('Testing Bunyan') // will be sent to the Graylog2 server on localhost 
 
log.error(new Error('Oh noes!')) // will extract file/line numbers too 
 
stream.end() // Bunyan doesn't currently end the stream when the program has finished 
 
// Or you can use it to stream any sort of object/string 
 
process.stdin
  .pipe(split()) // split into lines 
  .pipe(gelfStream.create('localhost', {defaults: {level: 6}}))
 
process.stdin.resume()

API

gelfStream.create([host], [port], [options])

gelfStream.forBunyan([host], [port], [options])

Installation

With npm do:

npm install gelf-stream