This library provides an interface to the Unix syslog()
facility. The
interface is an almost direct translation of the POSIX syslog API, with
two additions:
Note that this interface makes no attempt to abstract over logging
facilities of operating systems. We expect that such abstractions will
be implemented at the Prolog level using multiple integrations into
library(debug).
- See also
- - detach_IO/1 to detach normal I/O of the process and remove it
from the process group.
- - fork/1 to create a daemon process.
- - library(uid) to manage user identifiers (e.g., drop root
privileges).
- openlog(+Ident:atom, +Options:list(atom), +Facility:atom) is det
- Open system log. This predicate provides a direct interface into
the
openlog()
library call. If the library call is successful,
it runs at_halt(closelog)
to ensure closing the system log on
clean exit.
- Arguments:
-
Ident | - prepended to every message, and is typically set
to the program name. |
Options | - is a list of options. Values are corresponding
C options, after removing =LOG_= and translation to
lower case: cons , ndelay , nowait , odelay ,
perror , pid . |
Facility | - is one of auth , authpriv , cron , daemon ,
ftp , kern , local0 ... local7 , lpr , mail ,
news , syslog , user or uucp . |
- syslog(+Priority, +Message) is det
- Send a message to the system log. Note that syslog/2 implicitly
opens a connection to the system log if such a connection has
not been opened explicitly using openlog/3.
- Arguments:
-
Priority | - is one of emerg , alert , crit , err ,
warning , notice , info or debug . |
- syslog(+Priority, +Format, +Args) is det
- Send a formatted message to the system log if system logging is
opened using openlog/3. This predicate combined format/3 with
syslog/2. If there is no open syslog connection, syslog/3 calls
print_message/2.
- closelog is det
- Close the system log.
- prolog:debug_print_hook(+Topic, +Format, +Args) is semidet[multifile]
- Integration of debug/3 with the syslog facility. If syslog is
enabled, debug/3 is re-routed to use the syslog facilities. If
the topic of the debug message matches one of the sylog
priority values (see syslog/2), the message is sent with the
corresponding syslog priority. Otherwise it it sent with the
debug
priority.