winston-syslog-posix v3.0.0
winston-syslog-posix 
A winston syslog transport based on the posix module for node.js.
Background
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.
Installation
$ npm install winston
$ npm install winston-syslog-posixUsage
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
winston logger:
var winston = require('winston');
//
// Requiring `winston-syslog-posix` will expose
// `winston.transports.SyslogPosix`
//
require('winston-syslog-posix').SyslogPosix;
winston.add(winston.transports.SyslogPosix, options);The following options are availble to configure SyslogPosix:
- level: Allows you to set a level that specifies the level of messages for this transport (Default
info). - identity: The identity of the application (Default:
process.title). - facility: Syslog facility to use (Default:
local0). - unmapped: Unmatched levels will be mapped to this syslog level (Default:
info). - showPid: Display the PID of the process that log messages are coming from (Default
true). - showLvl: Display the level of the log messages (Default
true).
Log Levels
Because syslog only allows a subset of the levels available in winston, levels
that do not match will be mapped via options.unmapped.
Winston levels are mapped by name, and therefore it is not required that
you use winston.config.syslog.levels; i.e. this is much more forgiving than
what winston-syslog suggests.
Note: if you do choose to use
winston.config.syslog.levels, then you will likely need a patch towinstonto invert the log level comparisons; i.e. like: 0be4007.
