Skip to content
This repository has been archived by the owner on Mar 8, 2021. It is now read-only.

uber/kafka-logger

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

winston-kafka

A kafka transport for winston

Usage

var winston = require('winston');

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

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

The Kafka transport currently uses nodesol which uses prozess internally. Use of prozess directly is ongoing. The Kafka transport takes the following options:

  • topic - The Kafka topic to publish to.
  • leafHost - The Kafka host to publish to.
  • leafPort - The Kafka 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 winston-kafka

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