A Fluentd transport for Winston.
The Fluentd transport uses fluent-logger to send logs to Fluentd over TCP.
$ curl http://npmjs.org/install.sh | sh
$ npm install winston
$ npm install winston-fluent
var winston = require('winston');
//
// Requiring `winston-fluent` exposes
// `winston.transports.Fluent`
//
require('winston-fluent').Fluent;
winston.add(winston.transports.Fluent, options);
options
should be a JavaScript object with the following key-value pairs:
- tag: Required. This is the first part of the Fluentd tag.
- label: Required. This is the second part of the Fluentd tag.
- host: Optional (default=localhost). The host for Fluentd.
- port: Optional (default=24224). The port for Fluentd.
- timeout: optional (default=3.0). Socket timeout for the TCP connection to Fluentd.
So, here is a working code snippet
var winston = require('winston');
require('winston-fluent').Fluent;
winston.add(winston.transports.Fluent, { tag: "fluentd", label: "myapp" });
winston.log("error", "My great alert!");
// this logs the event { "level": "error", "message: "My great alert" } to Fluentd
winston.log("info", "Some user event", { user_id: 12938122, action: "clicked" })
// this logs the event { "level": "info", "message: "Some user event", "user_id": 12938122, "action": "clicked" } to Fluentd