| \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} |