Home

Awesome

Erlang driver for syslog

This is an erlang port driver for interacting with syslog.

Installing it

./rebar3 compile

Trying it

You should have a look at syslog.h.

In another shell :

$ tail -f /var/log/syslog

Or, for mac users :

$ tail -f /var/log/system.log

In erlang shell :

$ erl
> syslog:start().
> {ok,Log} = syslog:open("Beuha", [cons, perror, pid], local0).
> syslog:log(Log, err, "Damned").
> syslog:log(Log, info, "process count: ~w", [length(processes())]).

API

syslog:open(Ident, Logopt, Facility) -> {ok, port()}

Ident is an arbitrary string
Logopt is an atom or array of atom, you can use a number if you're brave enough :

Facility is an atom :

The open call returns either {ok, Log} where Log is a syslog handle that can be passed to subsequent log and close calls, or it will throw {error, badarg}.

syslog:log(Log, Priority, Message) -> ok

Log is a syslog handle returned from open
Priority can be a number or better, an atom :

Message is a string.

syslog:log(Log, Priority, FormatMsg, FormatArgs) -> ok

Same as above, but allows for the construction of log messages similar to formatting strings via io_lib:format/2, where FormatMsg indicates the formatting instructions and FormatArgs is a list of arguments to be formatted.

syslog:close(Log) -> ok

Log is a syslog handle returned from open

BUGS