Syslog backend for lager
Erlang Makefile
Latest commit 126dd02 Oct 16, 2015 @mrallen1 mrallen1 Tag 3.0.1
Failed to load latest commit information.
src Tag 3.0.1 Oct 16, 2015
.travis.yml Add chat bot notification. Jul 2, 2012
LICENSE Add explicit license file (gh#19) Oct 12, 2015
Makefile Initial checkin Aug 12, 2011 amended riak_info to riak as requested Apr 3, 2013
rebar Initial checkin Aug 12, 2011
rebar.config Better regex Oct 12, 2015


Travis-CI ::

This is a syslog backend for Lager. It allows you to send messages out of lager and into the local syslog daemon.


Configure a Lager handler like the following:

{lager_syslog_backend, [Identity, Facility, Level]}

The Identity is the string to tag all messages with in syslog, usually the application’s name. The facility is the facility to log to (see the syslog documentation for a list of these). The Level is the lager level at which the backend accepts messages (eg. using ‘info’ would send all messages at info level or above into syslog). While you can filter messages at the syslog level, it will improve performance if you filter in lager instead.

An example for riak would look something like this:

{handlers, [
  {lager_syslog_backend, ["riak", local1, info]},
] },

Then in your syslog config remembering syslog likes tabs and not spaces:                     /var/log/riak_info.log

If you want to log to multiple facilities at once, you can do something like the following:

{{lager_syslog_backend, "daemon facility"}, ["riak1", daemon, info]},
{{lager_syslog_backend, ftp}, ["riak2", ftp, notice]},

You MUST give each instance of the file backend its own identifier.

Refer to Lager’s documentation for futher information on configuring handlers.


There’s not a lot to go wrong, but if you are not receiving messages, check your syslog config and read its manpage for more information. OS X, in particular, has a very strange default config where it drops messages below the ‘info’ level by default.