\section{Built-in Module \sectcode{syslog}} \bimodindex{syslog} 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 \code{(LOG_USER | LOG_INFO)}, determines the message priority. \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 \code{openlog()} prior to calling \code{syslog()}. The defaults are (usually) \var{ident} = \samp{syslog}, \var{logopt} = 0, \var{facility} = \code{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} This function set the priority mask to \var{maskpri} and returns the previous mask value. Calls to \code{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):] \code{LOG_EMERG}, \code{LOG_ALERT}, \code{LOG_CRIT}, \code{LOG_ERR}, \code{LOG_WARNING}, \code{LOG_NOTICE}, \code{LOG_INFO}, \code{LOG_DEBUG}. \item[Facilities:] \code{LOG_KERN}, \code{LOG_USER}, \code{LOG_MAIL}, \code{LOG_DAEMON}, \code{LOG_AUTH}, \code{LOG_LPR}, \code{LOG_NEWS}, \code{LOG_UUCP}, \code{LOG_CRON} and \code{LOG_LOCAL0} to \code{LOG_LOCAL7}. \item[Log options:] \code{LOG_PID}, \code{LOG_CONS}, \code{LOG_NDELAY}, \code{LOG_NOWAIT} and \code{LOG_PERROR} if defined in \file{syslog.h}. \end{description}