gelf-stream-renewed
Version:
A stream to send JS objects to a Graylog2 server (in GELF format)
62 lines (40 loc) • 1.5 kB
Markdown
gelf-stream-renewed
-----------
A node.js stream to send JS objects to a
[Graylog2](http://graylog2.org/) server (in
[GELF](http://graylog2.org/resources/gelf) format).
Also provides a stream that can be used directly in
[Bunyan](https://github.com/trentm/node-bunyan) or [Bole](https://github.com/rvagg/bole) and provides
a number of sane mappings.
Example
-------
```javascript
var split = require('split'),
bunyan = require('bunyan'),
gelfStream = require('gelf-stream-renewed')
// 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])
### gelfStream.forBole([host], [port], [options])
Options
---
`addFlattened` - has default value `true`. Please set to `false` if you want to disable message flattening.
Installation
------------
With [npm](http://npmjs.org/) do:
```
npm install gelf-stream-renewed
```