/lager_syslog

Syslog backend for lager

Primary LanguageErlangApache License 2.0Apache-2.0

Overview

Travis-CI :: https://secure.travis-ci.org/basho/lager_syslog.png

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

Configuration

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:

local1.info                     /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.

Troubleshooting

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.