bunyan-syslog is a stream for bunyan
that consumes raw
records from bunyan and sends them to a remote syslog server.
npm install -S @farmersdog/bunyan-syslog
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.
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.
This module maps bunyan levels to syslog levels as follows:
+--------+--------+
| Bunyan | Syslog |
+--------+--------+
| fatal | emerg |
+--------+--------+
| error | error |
+--------+--------+
| warn | warn |
+--------+--------+
| info | info |
+--------+--------+
| * | debug |
+--------+--------+
MIT.