Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Erlang port driver for interacting with syslog via syslog(3)
Erlang C
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Erlang driver for syslog

This is an erlang port driver for interacting with syslog.

Installing it

./rebar compile
sudo ./rebar install

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())]).


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 :

  • pid
  • cons
  • odelay
  • ndelay
  • perror

Facility is an atom :

  • kern
  • user
  • mail
  • daemon
  • auth
  • syslog
  • lpr
  • news
  • uucp
  • cron
  • authpriv
  • ftp
  • netinfo
  • remoteauth
  • install
  • ras
  • local0
  • local1
  • local2
  • local3
  • local4
  • local5
  • local6
  • local7

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 :

  • emerg
  • alert
  • crit
  • err
  • warning
  • notice
  • info
  • debug

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


  • None known
Something went wrong with that request. Please try again.