\section{\module{syslog} ---
\UNIX{} syslog library routines}
\declaremodule{builtin}{syslog}
\platform{Unix}
\modulesynopsis{An interface to the \UNIX\ syslog library routines.}
This module provides an interface to the \UNIX{} \code{syslog} library
routines. Refer to the \UNIX{} manual pages for a detailed description
of the \code{syslog} facility.
The module defines the following functions:
\begin{funcdesc}{syslog}{\optional{priority,} message}
Send the string \var{message} to the system logger. A trailing
newline is added if necessary. Each message is tagged with a priority
composed of a \var{facility} and a \var{level}. The optional
\var{priority} argument, which defaults to \constant{LOG_INFO},
determines the message priority. If the facility is not encoded in
\var{priority} using logical-or (\code{LOG_INFO | LOG_USER}), the
value given in the \function{openlog()} call is used.
\end{funcdesc}
\begin{funcdesc}{openlog}{ident\optional{, logopt\optional{, facility}}}
Logging options other than the defaults can be set by explicitly
opening the log file with \function{openlog()} prior to calling
\function{syslog()}. The defaults are (usually) \var{ident} =
\code{'syslog'}, \var{logopt} = \code{0}, \var{facility} =
\constant{LOG_USER}. The \var{ident} argument is a string which is
prepended to every message. The optional \var{logopt} argument is a
bit field - see below for possible values to combine. The optional
\var{facility} argument sets the default facility for messages which
do not have a facility explicitly encoded.
\end{funcdesc}
\begin{funcdesc}{closelog}{}
Close the log file.
\end{funcdesc}
\begin{funcdesc}{setlogmask}{maskpri}
Set the priority mask to \var{maskpri} and return the
previous mask value. Calls to \function{syslog()} with a priority
level not set in \var{maskpri} are ignored. The default is to log all
priorities. The function \code{LOG_MASK(\var{pri})} calculates the
mask for the individual priority \var{pri}. The function
\code{LOG_UPTO(\var{pri})} calculates the mask for all priorities up
to and including \var{pri}.
\end{funcdesc}
The module defines the following constants:
\begin{description}
\item[Priority levels (high to low):]
\constant{LOG_EMERG}, \constant{LOG_ALERT}, \constant{LOG_CRIT},
\constant{LOG_ERR}, \constant{LOG_WARNING}, \constant{LOG_NOTICE},
\constant{LOG_INFO}, \constant{LOG_DEBUG}.
\item[Facilities:]
\constant{LOG_KERN}, \constant{LOG_USER}, \constant{LOG_MAIL},
\constant{LOG_DAEMON}, \constant{LOG_AUTH}, \constant{LOG_LPR},
\constant{LOG_NEWS}, \constant{LOG_UUCP}, \constant{LOG_CRON} and
\constant{LOG_LOCAL0} to \constant{LOG_LOCAL7}.
\item[Log options:]
\constant{LOG_PID}, \constant{LOG_CONS}, \constant{LOG_NDELAY},
\constant{LOG_NOWAIT} and \constant{LOG_PERROR} if defined in
\code{<syslog.h>}.
\end{description}
|