[2] | 1 | :mod:`syslog` --- Unix syslog library routines
|
---|
| 2 | ==============================================
|
---|
| 3 |
|
---|
| 4 | .. module:: syslog
|
---|
| 5 | :platform: Unix
|
---|
| 6 | :synopsis: An interface to the Unix syslog library routines.
|
---|
| 7 |
|
---|
| 8 |
|
---|
| 9 | This module provides an interface to the Unix ``syslog`` library routines.
|
---|
| 10 | Refer to the Unix manual pages for a detailed description of the ``syslog``
|
---|
| 11 | facility.
|
---|
| 12 |
|
---|
[391] | 13 | This module wraps the system ``syslog`` family of routines. A pure Python
|
---|
| 14 | library that can speak to a syslog server is available in the
|
---|
| 15 | :mod:`logging.handlers` module as :class:`SysLogHandler`.
|
---|
| 16 |
|
---|
[2] | 17 | The module defines the following functions:
|
---|
| 18 |
|
---|
| 19 |
|
---|
[391] | 20 | .. function:: syslog(message)
|
---|
| 21 | syslog(priority, message)
|
---|
[2] | 22 |
|
---|
[391] | 23 | Send the string *message* to the system logger. A trailing newline is added
|
---|
| 24 | if necessary. Each message is tagged with a priority composed of a
|
---|
| 25 | *facility* and a *level*. The optional *priority* argument, which defaults
|
---|
| 26 | to :const:`LOG_INFO`, determines the message priority. If the facility is
|
---|
| 27 | not encoded in *priority* using logical-or (``LOG_INFO | LOG_USER``), the
|
---|
| 28 | value given in the :func:`openlog` call is used.
|
---|
[2] | 29 |
|
---|
[391] | 30 | If :func:`openlog` has not been called prior to the call to :func:`syslog`,
|
---|
| 31 | ``openlog()`` will be called with no arguments.
|
---|
[2] | 32 |
|
---|
| 33 |
|
---|
[391] | 34 | .. function:: openlog([ident[, logoption[, facility]]])
|
---|
[2] | 35 |
|
---|
[391] | 36 | Logging options of subsequent :func:`syslog` calls can be set by calling
|
---|
| 37 | :func:`openlog`. :func:`syslog` will call :func:`openlog` with no arguments
|
---|
| 38 | if the log is not currently open.
|
---|
[2] | 39 |
|
---|
[391] | 40 | The optional *ident* keyword argument is a string which is prepended to every
|
---|
| 41 | message, and defaults to ``sys.argv[0]`` with leading path components
|
---|
| 42 | stripped. The optional *logoption* keyword argument (default is 0) is a bit
|
---|
| 43 | field -- see below for possible values to combine. The optional *facility*
|
---|
| 44 | keyword argument (default is :const:`LOG_USER`) sets the default facility for
|
---|
| 45 | messages which do not have a facility explicitly encoded.
|
---|
| 46 |
|
---|
| 47 |
|
---|
[2] | 48 | .. function:: closelog()
|
---|
| 49 |
|
---|
[391] | 50 | Reset the syslog module values and call the system library ``closelog()``.
|
---|
[2] | 51 |
|
---|
[391] | 52 | This causes the module to behave as it does when initially imported. For
|
---|
| 53 | example, :func:`openlog` will be called on the first :func:`syslog` call (if
|
---|
| 54 | :func:`openlog` hasn't already been called), and *ident* and other
|
---|
| 55 | :func:`openlog` parameters are reset to defaults.
|
---|
[2] | 56 |
|
---|
[391] | 57 |
|
---|
[2] | 58 | .. function:: setlogmask(maskpri)
|
---|
| 59 |
|
---|
[391] | 60 | Set the priority mask to *maskpri* and return the previous mask value. Calls
|
---|
| 61 | to :func:`syslog` with a priority level not set in *maskpri* are ignored.
|
---|
| 62 | The default is to log all priorities. The function ``LOG_MASK(pri)``
|
---|
| 63 | calculates the mask for the individual priority *pri*. The function
|
---|
| 64 | ``LOG_UPTO(pri)`` calculates the mask for all priorities up to and including
|
---|
| 65 | *pri*.
|
---|
[2] | 66 |
|
---|
| 67 | The module defines the following constants:
|
---|
| 68 |
|
---|
| 69 | Priority levels (high to low):
|
---|
| 70 | :const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:`LOG_ERR`,
|
---|
| 71 | :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`,
|
---|
| 72 | :const:`LOG_DEBUG`.
|
---|
| 73 |
|
---|
| 74 | Facilities:
|
---|
| 75 | :const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:`LOG_DAEMON`,
|
---|
| 76 | :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:`LOG_UUCP`,
|
---|
[391] | 77 | :const:`LOG_CRON`, :const:`LOG_SYSLOG` and :const:`LOG_LOCAL0` to
|
---|
| 78 | :const:`LOG_LOCAL7`.
|
---|
[2] | 79 |
|
---|
| 80 | Log options:
|
---|
| 81 | :const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY`, :const:`LOG_NOWAIT`
|
---|
| 82 | and :const:`LOG_PERROR` if defined in ``<syslog.h>``.
|
---|
| 83 |
|
---|
[391] | 84 |
|
---|
| 85 | Examples
|
---|
| 86 | --------
|
---|
| 87 |
|
---|
| 88 | Simple example
|
---|
| 89 | ~~~~~~~~~~~~~~
|
---|
| 90 |
|
---|
| 91 | A simple set of examples::
|
---|
| 92 |
|
---|
| 93 | import syslog
|
---|
| 94 |
|
---|
| 95 | syslog.syslog('Processing started')
|
---|
| 96 | if error:
|
---|
| 97 | syslog.syslog(syslog.LOG_ERR, 'Processing started')
|
---|
| 98 |
|
---|
| 99 | An example of setting some log options, these would include the process ID in
|
---|
| 100 | logged messages, and write the messages to the destination facility used for
|
---|
| 101 | mail logging::
|
---|
| 102 |
|
---|
| 103 | syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
|
---|
| 104 | syslog.syslog('E-mail processing initiated...')
|
---|