Coder Social home page Coder Social logo

pykafka-async-logger's Introduction

pykafka-async-logger

A simple handler for python logger to push logs into Kafka instead of writting them to disk.

The logging handler will write to Kafka in async batch using pykafka. Current implementation works well, but is not fault tolerant if kafka fails (Server not available, Leader not available) results in error/application crash.

Todo:

  • Logger fails when Kafka is down, need to tweak code such that Handler can be configured in runtime (If runtime change of handler is available!) else tweak to emit logs into file instead of pushing into Kafka.
  • Write test cases and fix issues where Kafka client connection is already established and then fails(Leader not available for partition and other Kafka errors)
  • Introduce snappy compression of messages.
  • Configure pykafka to use librdkafka, this will effectively better performance a lot, especially while using compression.

Inspired from https://github.com/taykey/python-kafka-logging, python-kafka async implementation is here in this branch

Get the project

  1. Clone the git repository
    git clone https://github.com/taykey/python-kafka-logging/
  2. Create a new virtualenv
    virtualenv python_kafka_logging
  3. Install project's requirements
    python_kafka_logging/bin/pip install -r requirements.txt

pykafka-async-logger's People

Contributors

sudev avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.