# ExKafkaLogger

`ExKafkaLogger` is a Elixir library that wraps `Elixir.Logger` in order to send all related logs to Kafka. It works using [Poison]( "Poison Library Github") and [Kaffe]( "Kaffe library Github").

This library automatically gets data from the default Elixir `Logger` and from
every request/response from your project. This data (and any data you might
want to send) is then parsed and sent to Kafka with a specified topic.

Documentation is avaiable online at [](

## Installation

The package can be installed by adding `ex_kafka_logger` to your list of
dependencies in `mix.exs`:

def deps do
  [{:ex_kafka_logger, "~> 0.1"}]

After installing the library you will need to run the following command
$ mix deps.get

Then you will also need to follow the subsequent configuration steps.

## Configuration

Configure your application to make the Elixir `Logger` to use `ExKafkaLogger` as
one of your backend and let `ExKafkaLogger` knows how to connect in your Kafka

In your `config/ENV.exs` file add the lines like the example below.

config :logger, backends: [:console, ExKafkaLogger]

config :ex_kafka_logger,
  kafka_topic: "your_logging_topic",
  service_name: "your_app_name"

config :kaffe,
  consumer: [
    heroku_kafka_env: true,
    topics: ["interesting-topic"],
    consumer_group: "your-app-consumer-group",
    message_handler: MessageProcessor

## Example Application

[Here]( is an example of how to use
this library to log a simple Phoenix Application.