README.org

April 3, 2013 ยท View on GitHub

#+BEGIN_EXAMPLE {lager_syslog_backend, [Identity, Facility, Level]} #+END_EXAMPLE

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 [[http://www.basho.com/products_riak_overview.php][riak]] would look something like this:

#+BEGIN_EXAMPLE {handlers, [ {lager_syslog_backend, ["riak", local1, info]}, ] }, #+END_EXAMPLE

Then in your syslog config remembering syslog likes tabs and not spaces:

#+BEGIN_EXAMPLE local1.info /var/log/riak_info.log #+END_EXAMPLE

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

#+BEGIN_EXAMPLE {{lager_syslog_backend, "daemon facility"}, ["riak1", daemon, info]}, {{lager_syslog_backend, ftp}, ["riak2", ftp, notice]}, #+END_EXAMPLE

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.