Logstash backend for Lager
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
.travis.yml
README.md
rebar.config

README.md

lager_logstash 0.1.3 Build Status

Lager backend for sending logs to Logstash.

Includes lager_logstash_json_formatter which can be used with other lager backends.

Configuration

Add lager_logstash to your rebar.config deps:

{deps,
 [
  {lager_logstash, "",
   {git, "https://github.com/rpt/lager_logstash.git",
    {tag, "0.1.3"}}}
 ]}.

Remember to also add jsx or jiffy, whichever you prefer.

And finally, configure lager app with something like this:

[
 {lager,
  [
   {handlers,
    [
     {lager_logstash_backend,
      [
       {level, info},
       {output, {tcp, "localhost", 5000}},
       %% {output, {udp, "localhost", 5000}},
       %% {output, {file, "/var/log/lager_logstash.log"}},
       {format, json},
       {json_encoder, jsx}
      ]}
    ]}
  ]}
].

Features

  • outputs: tcp, udp, file
  • formats: json
  • json encoders: jsx, jiffy

JSON formatter

Here's how you would use the included JSON formatter with the lager_file_backend:

{lager_file_backend,
 [
  {file, "log/lager_logstash.log"},
  {level, info},
  {formatter, lager_logstash_json_formatter},
  {formatter_config, [{json_encoder, jsx}]},
  {size, 10485760},
  {date, "$D0"},
  {count, 5}
 ]}

TODOs

  • reconnect
  • other formats

Changelog

0.1.3

  • Small fixes

0.1.2

  • Removes all release name/version logging code

0.1.1

  • Adds lager_logstash_json_formatter