Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
syslog.conf(5)
Edit
PageHistory
Diff
Info
LikePages
SYSLOG.CONF !!!SYSLOG.CONF NAME DESCRIPTION SELECTORS ACTIONS EXAMPLES CONFIGURATION FILE SYNTAX DIFFERENCES FILES BUGS SEE ALSO AUTHORS ---- !!NAME syslog.conf - syslogd(8) configuration file !!DESCRIPTION The ''syslog.conf'' file is the main configuration file for the syslogd(8) which logs system messages on *nix systems. This file specifies rules for logging. For special features see the sysklogd(8) manpage. Every rule consists of two fields, a ''selector'' field and an ''action'' field. These two fields are separated by one or more spaces or 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. This release of __syslogd__ is able to understand an extended syntax. One rule can be divided into several lines if the leading line is terminated with an backslash (``''). !!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__, __ftp__, __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: An asterisk (``*'') stands for all facilities or all priorities, depending on where it is used (before or after the period). The keyword __none__ stands for no priority of the given facility. You can specify multiple facilities with the same priority pattern in one statement using the comma (``,'') operator. You may specify as much facilities as you want. Remember that only the facility part from such a statement is taken, a priority part would be skipped. 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. This syslogd(8) has a syntax extension to the original BSD source, that makes its use more intuitively. You may precede every priority with an equation sign (``='') to specify only this single priority and not any of the above. You may also (both is valid, too) precede the priority with an exclamation mark (``!'') to ignore all that priorities, either exact this one or this and any higher priority. If you use both extensions than the exclamation mark must occur before the equation sign, just use it intuitively. !!ACTIONS The action field of a rule describes the abstract term ``logfile''. A ``logfile'' need not to be a real file, btw. The syslogd(8) 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 ``/''. You may prefix each entry with the minus ``-'' sign to omit syncing the file after every logging. Note that you might lose information if the system crashes right behind a write attempt. Nevertheless this might give you back some performance, especially if you run programs that use logging in a very verbose manner. __Named Pipes__ This version of syslogd(8) has support for logging output to named pipes (fifos). A fifo or named pipe can be used as a destination for log messages by prepending a pipe symbol (``|'') to the name of the file. This is handy for debugging. Note that the fifo must be created with the mkfifo(1) command before syslogd(8) is started. __Terminal and Console__ If the file you specified is a tty, special tty-handling is done, same with ''/dev/console''. __Remote Machine__ This syslogd(8) provides full remote logging, i.e. is able to send messages to a remote host running syslogd(8) and to receive messages from remote hosts. The remote host won't forward the message again, it will just log them locally. To forward messages to another host, prepend the hostname with the at sign (``@''). Using this feature you're able to control all syslog messages on one host, if all other machines will log remotely to that. This tears down administration needs. __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;kern.none /var/adm/critical This will store all messages with the priority __crit__ in the file ''/var/adm/critical'', except for any kernel message. # Kernel messages are first, stored in the kernel # file, critical messages and higher ones also go # to another host and to the console # kern.* /var/adm/kernel kern.crit @finlandia kern.crit /dev/console kern.info;kern.!err /var/adm/kernel-info The first rule direct any message that has the kernel facility to the file ''/var/adm/kernel''. The second statement directs all kernel messages of the priority __crit__ and higher to the remote host finlandia. This is useful, because if the host crashes and the disks get irreparable errors you might not be able to read the stored messages. If they're on a remote host, too, you still can try to find out the reason for the crash. The third rule directs these messages to the actual console, so the person who works on the machine will get them, too. The fourth line tells the syslogd to save all kernel messages that come with priorities from __info__ up to __warning__ in the file ''/var/adm/kernel-info''. Everything from ''err'' and higher is excluded. # 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. For example the tcpwrapper tcpd(8) uses this as it's default. # Store all mail concerning stuff in a file # mail.*;mail.!=info /var/adm/mail This pattern matches all messages that come with the __mail__ facility, except for the __info__ priority. These will be stored in the file ''/var/adm/mail''. # 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''. # Log info and notice messages to messages file # *.=info;*.=notice;\ mail.none /var/log/messages This lets the __syslogd__ log all messages that come with either the __info__ or the __notice__ priority into the file ''/var/log/messages'', except for all messages that use the __mail__ facility. # Log info messages to messages file # *.=info;\ mail,news.none /var/log/messages This statement causes the __syslogd__ to log all messages that come with the __info__ priority to the file ''/var/log/messages''. But any message coming either with the __mail__ or the __news__ facility will not be stored. # 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. !!CONFIGURATION FILE SYNTAX DIFFERENCES __Syslogd__ uses a slightly different syntax for its configuration file than the original BSD sources. Originally all messages of a specific priority and above were forwarded to the log file. The modifiers ``='', ``!'' and ``-'' were added to make the __syslogd__ more flexible and to use it in a more intuitive manner. The original BSD syslogd doesn't understand spaces as separators between the selector and the action field. !!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 sysklogd(8), klogd(8), logger(1), syslog(2), syslog(3) !!AUTHORS The __syslogd__ is taken from BSD sources, Greg Wettstein (greg@wind.enjellic.com) performed the port to Linux, Martin Schulze (joey@linux.de) made some bugfixes and added some new features. ----
13 pages link to
syslog.conf(5)
:
logview(1)
dictd(8)
openlog(3)
named.conf(5)
pppd(8)
Man5s
sysklogd(8)
syslog(3)
syslog-facility(8)
syslogd-listfiles(8)
closelog(3)
identd(8)
tcpd(8)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.