@%@UCRWARNING=# @%@ # /etc/rsyslog.conf Configuration file for rsyslog. # # For more information see # /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html ###################### #### Message size #### ###################### # # Important: In order for this directive to work correctly, # it must be placed right at the top of rsyslog.conf # (before loading modules) # @!@ print '$MaxMessageSize %s' % (configRegistry.get("syslog/maxmessagesize",'4k')) @!@ ################# #### MODULES #### ################# $ModLoad imuxsock # provides support for local system logging $ModLoad imklog # provides kernel logging support (previously done by rklogd) #$ModLoad immark # provides --MARK-- message capability # provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514 # provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514 ########################### #### GLOBAL DIRECTIVES #### ########################### # # Use traditional timestamp format. # To enable high precision timestamps, comment out the following line. # @!@ print '$ActionFileDefaultTemplate %s' % (configRegistry.get("syslog/defaulttemplate",'RSYSLOG_TraditionalFileFormat')) @!@ # # Set the default permissions for all log files. # $FileOwner root $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 # # Include all config files in /etc/rsyslog.d/ # $IncludeConfig /etc/rsyslog.d/*.conf ############### #### RULES #### ############### # # First some standard log files. Log by facility. # @!@ syslog_avoid_duplicates_selector=[] if configRegistry.is_true("syslog/auth",True): print "auth,authpriv.*\t\t\t\t/var/log/auth.log" syslog_avoid_duplicates_selector.append("auth.none") syslog_avoid_duplicates_selector.append("authpriv.none") if configRegistry.is_true("syslog/cron",False): print "cron.*\t\t\t\t/var/log/cron.log" syslog_avoid_duplicates_selector.append("cron.none") if configRegistry.is_true("syslog/daemon",True): print "daemon.*\t\t\t\t-/var/log/daemon.log" syslog_avoid_duplicates_selector.append("daemon.none") if configRegistry.is_true("syslog/kern",True): print "kern.*\t\t\t\t-/var/log/kern.log" syslog_avoid_duplicates_selector.append("kern.none") if configRegistry.is_true("syslog/lpr",True): print "lpr.*\t\t\t\t-/var/log/lpr.log" syslog_avoid_duplicates_selector.append("lpr.none") if configRegistry.is_true("syslog/mail",True): print "mail.*\t\t\t\t-/var/log/mail.log" print "#" print "# Logging for the mail system. Split it up so that" print "# it is easy to write scripts to parse these files." print "#" print "mail.info\t\t\t-/var/log/mail.info" print "mail.warn\t\t\t-/var/log/mail.warn" print "mail.err\t\t\t/var/log/mail.err" print "" if configRegistry.is_false("syslog/mail/mirrorto/syslog", True): syslog_avoid_duplicates_selector.append("mail.none") if configRegistry.is_true("syslog/user",True): print "user.*\t\t\t\t-/var/log/user.log" syslog_avoid_duplicates_selector.append("user.none") if configRegistry.is_true("syslog/news",True): print "#" print "# Logging for INN news system." print "#" print "news.crit\t\t\t/var/log/news/news.crit" print "news.err\t\t\t/var/log/news/news.err" print "news.notice\t\t\t-/var/log/news/news.notice" print "" syslog_avoid_duplicates_selector.append("news.none") if configRegistry.is_true("syslog/syslog", True): if configRegistry.get("syslog/rsyslog_selector", None): print "%s\t\t\t\t-/var/log/syslog" % configRegistry.get("syslog/syslog/rsyslog_selector") elif configRegistry.is_true("syslog/syslog/avoid_duplicate_messages", False): print "*.*;%s\t\t\t\t-/var/log/syslog" % ';'.join(syslog_avoid_duplicates_selector) elif configRegistry.is_false("syslog/mail/mirrorto/syslog", True): print "*.*;mail,auth,authpriv.none\t\t\t\t-/var/log/syslog" else: print "*.*;auth,authpriv.none\t\t\t\t-/var/log/syslog" @!@ # # Some "catch-all" log files. # @!@ if configRegistry.is_true("syslog/debug",True): if configRegistry.get("syslog/debug/rsyslog_selector",None): print "%s\t-/var/log/debug" % configRegistry.get("syslog/debug/rsyslog_selector") else: print "*.=debug;\\" print "\tauth,authpriv.none;\\" print "\tnews.none;mail.none -/var/log/debug" if configRegistry.is_true("syslog/messages",True): if configRegistry.get("syslog/messages/rsyslog_selector",None): print "%s\t-/var/log/messages" % configRegistry.get("syslog/messages/rsyslog_selector") else: print "*.=info;*.=notice;*.=warn;\\" print "\tauth,authpriv.none;\\" print "\tcron,daemon.none;\\" print "\tmail,news.none -/var/log/messages" @!@ # # Emergencies are sent to everybody logged in. # *.emerg * # # I like to have messages displayed on the console, but only on a virtual # console I usually leave idle. # #daemon,mail.*;\ # news.=crit;news.=err;news.=notice;\ # *.=debug;*.=info;\ # *.=notice;*.=warn /dev/tty8 # The named pipe /dev/xconsole is for the `xconsole' utility. To use it, # you must invoke `xconsole' with the `-file' option: # # $ xconsole -file /dev/xconsole [...] # # NOTE: adjust the list below, or you'll go crazy if you have a reasonably # busy site.. # @!@ if configRegistry.is_true("syslog/xconsole",True): if configRegistry.get("syslog/console/rsyslog_selector",None): print "%s\t|/dev/xconsole" % configRegistry.get("syslog/console/rsyslog_selector") else: print "daemon.*;mail.*;\\" print "\tnews.err;\\" print "\t*.=debug;*.=info;\\" print "\t*.=notice;*.=warn |/dev/xconsole" @!@