@farmersdog/bunyan-syslog

Syslog Stream for Bunyan

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
00Aug 21, 2018Jun 10, 2016Minified + gzip package size for @farmersdog/bunyan-syslog in KB

Readme

bunyan-syslog is a stream for bunyan that consumes raw records from bunyan and sends them to a remote syslog server.

Installation

npm install -S @farmersdog/bunyan-syslog

About

This fork is compliant with RFC 5424. It supports Structured Data component in messages as well as TLS over TCP.

Local syslog bindings have been removed.

Usage

var bunyan = require('bunyan');
var bsyslog = require('bunyan-syslog');

var log = bunyan.createLogger({
  name: 'foo',
  streams: [{
    level: 'debug',
    type: 'raw',
    stream: bsyslog.createBunyanStream({
      type: 'tcp',
      tls: true,
      data: '[structured data]'
      facility: bsyslog.local0,
      host: '192.168.0.1',
      port: 514
    })
  }]
});

log.debug({ foo: 'bar' }, 'hello %s', 'world');

That's pretty much it. You create a syslog stream, and point it at a syslog server (UDP by default; you can use TCP by setting type: tcp in the constructor).

Note you must pass type: 'raw' to bunyan in the top-level stream object or this won't work.

Mappings

This module maps bunyan levels to syslog levels as follows:

+--------+--------+
| Bunyan | Syslog |
+--------+--------+
| fatal  | emerg  |
+--------+--------+
| error  | error  |
+--------+--------+
| warn   | warn   |
+--------+--------+
| info   | info   |
+--------+--------+
| *      | debug  |
+--------+--------+

License

MIT.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.