Skip to content

Vagabond/erlang-syslog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 :

  • 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

BUGS

  • None known

About

Erlang port driver for interacting with syslog via syslog(3)

Resources

License

Stars

Watchers

Forks

Packages

No packages published