SYSLOG.CONF(5)

NAME
syslog.conf - syslogd(8) configuration file

DESCRIPTION
The syslog.conf file is the main configuration file for the which logs system messages on *nix systems. This file specifies rules for logging. For special features see the manpage. Every rule consists of two fields, a selector field and an action field. These two fields are separated by one or more tabs. The selector field specifies a pattern of facilities and priorities belonging to the specified action. Lines starting with a hash mark (``#'') and empty lines are ignored.

SELECTORS
The selector field itself again consists of two parts, a facility and a priority, separated by a period (``.''). Both parts are case insensitive and can also be specified as decimal numbers, but don't do that, you have been warned. Both facilities and priorities are described in syslog(3). The names mentioned below correspond to the similar LOG_-values in /usr/include/syslog.h. The facility is one of the following keywords: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (same as auth), syslog, user, uucp and local0 through local7. The keyword security should not be used anymore and mark is only for internal use and therefore should not be used in applications. Anyway, you may want to specify and redirect these messages here. The facility specifies the subsystem that produced the message, i.e. all mail programs log with the mail facility (LOG_MAIL) if they log using syslog. The priority is one of the following keywords, in ascending order: debug, info, notice, warning, warn (same as warning), err, error (same as err), crit, alert, emerg, panic (same as emerg). The keywords error, warn and panic are deprecated and should not be used anymore. The priority defines the severity of the message

The behavior of the original BSD syslogd is that all messages of the specified priority and higher are logged according to the given action. This syslogd(8) behaves the same, but has some extensions.

In addition to the above mentioned names the syslogd(8) understands the following extensions:

Multiple selectors may be specified for a single action using the semicolon (``;'') separator. Remember that each selector in the selector field is capable to overwrite the preceding ones. Using this behavior you can exclude some priorities from the pattern.

ACTIONS
The action field of a rule describes the abstract term ``logfile''. A ``logfile'' need not to be a real file, btw. The provides the following actions.

  Regular File
Typically messages are logged to real files. The file has to be specified with full pathname, beginning with a slash ``/''.

  Terminal and Console
If the file you specified is a tty, special tty-handling is done, same with /dev/console.

  Remote Machine
This release does not implement remote logging, i.e. the ability to send messages to a remote host running To forward messages to another host, prepend the hostname with the at sign (``@'').

  List of Users
Usually critical messages are also directed to ``root'' on that machine. You can specify a list of users that shall get the message by simply writing the login. You may specify more than one user by separating them with commas (``,''). If they're logged in they get the message. Don't think a mail would be sent, that might be too late.

  Everyone logged on
Emergency messages often go to all users currently online to notify them that something strange is happening with the system. To specify this wall(1)-feature use an asterisk (``*'').

EXAMPLES
Here are some example, partially taken from a real existing site and configuration. Hopefully they rub out all questions to the configuration, if not, drop me (Joey) a line.

    # Store critical stuff in critical
    #
    *.crit            /var/adm/critical

This will store all messages with the priority crit in the file /var/adm/critical.

    # The tcp wrapper loggs with mail.info, we display
    # all the connections on tty12
    #
    mail.info                   /dev/tty12

This directs all messages that uses mail.info (in source LOG_MAIL | LOG_INFO) to /dev/tty12, the 12th console.

    # Log all mail.info and news.info messages to info
    #
    mail,news.info              /var/adm/info

This will extract all messages that come either with mail.info or with news.info and store them in the file /var/adm/info.

    # Emergency messages will be displayed using wall
    #
    *.emerg                     *

This rule tells the syslogd to write all emergency messages to all currently logged in users. This is the wall action.

    # Messages of the priority alert will be directed
    # to the operator
    #
    *.alert                      root,joey

This rule directs all messages with a priority of alert or higher to the terminals of the operator, i.e. of the users ``root'' and ``joey'' if they're logged in.

    *.*                          @finlandia

This rule would redirect all messages to a remote host called finlandia. This is useful especially in a cluster of machines where all syslog messages will be stored on only one machine.

FILES
/etc/syslog.conf Configuration file for syslogd

BUGS
The effects of multiple selectors are sometimes not intuitive. For example ``mail.crit,*.err'' will select ``mail'' facility messages at the level of ``err'' or higher, not at the level of ``crit'' or higher.

SEE ALSO
syslogd(8), logger(1), syslog(3)

AUTHORS
The syslogd is taken from BSD sources, Greg Wettstein (greg@wind.rmcc.com) performed the port to Linux, Martin Schulze (joey@linux.de) made some bugfixes and added some new features.