In what naively seemed like a trvial task, I set out to have node log to syslog which our sysadmins have shipping to logstash. While I was able to integrate winston-syslog with relative ease, by the time the messages made it to logstash, the fields were not mapped correctly. After burning nearly an entire day trying to fix that problem, I retreated to the safety of a C library, but I could not find a working posix transport! Argh! YMMV
Inspired by tmont's blog posting, this module provides a fully functional winston syslog transport that has been tested on Linux 3.2.x kernel.
$ npm install winston$ npm install winston-syslog-posix
To use the
SyslogPosix transport in winston, you simply need to require it and
then either add it to an existing winston logger or pass an instance to a new
var winston = ;//// Requiring `winston-syslog-posix` will expose// `winston.transports.SyslogPosix`//SyslogPosix;winston;
options are availble to configure
Because syslog only allows a subset of the levels available in winston, levels
that do not match will be mapped via
Winston levels are mapped by name, and therefore it is not required that
winston.config.syslog.levels; i.e. this is much more forgiving than
Note: if you do choose to use
winston.config.syslog.levels, then you will likely need a patch to
winstonto invert the log level comparisons; i.e. like: 0be4007.