All Projects → uber → Kafka Logger

uber / Kafka Logger

Licence: mit
A kafka logger for winston

Programming Languages

javascript
184084 projects - #8 most used programming language

kafka-logger

A kafka transport for winston

Usage

var winston = require('winston');

winston.transports.Kafka = require('kafka-logger');

winston.add(winston.transports.Kafka, options);

The Kafka transport currently uses node-kafka-rest-client. The Kafka transport takes the following options:

  • topic - The Kafka topic to publish to.
  • proxyHost - The Kafka REST Proxy host to publish to.
  • proxyPort - The Kafka REST Proxy port to publish to.
  • properties - Top-level properties that should be added to the JSON object published to the kafka topic; useful if multiple processes use the same topic
  • dateFormats - An object of date formats to use; keys are the names of the keys the format should be added to, values are the names of the formats (useful for cross-language usage of the logs to reduce transforms on the consumers). These formats are: epoch (time in sec since Jan 1, 1970), jsepoch (time in ms since Jan 1, 1970), pyepoch (time in sec since Jan 1, 1970, but floating point with ms resolution), iso (ISO datestring format)

Install

npm install winston kafka-logger

Testing

npm test

There is a kafka.js that will talk to kafka if it is running and just gets skipped if its not running.

To run kafka run zookeeper & kafka with npm run start-zk and npm run start-kafka

MIT Licenced

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].