# 8.13 Built-in Module `syslog`

This module provides an interface to the Unix `syslog` library routines. Refer to the Unix manual pages for a detailed description of the `syslog` facility.

The module defines the following functions:

`syslog` ([priority,] message)
  Send the string message to the system logger. A trailing newline is added if necessary. Each message is tagged with a priority composed of a facility and a level. The optional priority argument, which defaults to `(LOG_USER | LOG_INFO)`, determines the message priority.

`openlog` (ident, [logopt, [facility]])
  Logging options other than the defaults can be set by explicitly opening the log file with `openlog()` prior to calling `syslog()`. The defaults are (usually) ident = ``syslog`', logopt = 0, facility = `LOG_USER`. The ident argument is a string which is prepended to every message. The optional logopt argument is a bit field - see below for possible values to combine. The optional facility argument sets the default facility for messages which do not have a facility explicitly encoded.

`closelog` ()
  Close the log file.

`setlogmask` (maskpri)
  This function set the priority mask to maskpri and returns the previous mask value. Calls to `syslog` with a priority level not set in maskpri are ignored. The default is to log all priorities. The function `LOG_MASK(pri)` calculates the mask for the individual priority pri. The function `LOG_UPTO(pri)` calculates the mask for all priorities up to and including pri.

The module defines the following constants:

Priority levels (high to low):

  `LOG_EMERG`, `LOG_ALERT`, `LOG_CRIT`, `LOG_ERR`, `LOG_WARNING`, `LOG_NOTICE`, `LOG_INFO`, `LOG_DEBUG`.

Facilities:

  `LOG_KERN`, `LOG_USER`, `LOG_MAIL`, `LOG_DAEMON`, `LOG_AUTH`, `LOG_LPR`, `LOG_NEWS`, `LOG_UUCP`, `LOG_CRON` and `LOG_LOCAL0` to `LOG_LOCAL7`.

Log options:

  `LOG_PID`, `LOG_CONS`, `LOG_NDELAY`, `LOG_NOWAIT` and `LOG_PERROR` if defined in ``syslog.h`'.