$FileCreateMode 0640
$DirCreateMode 0755
+# Store any queues here. This directory is not created automatically, so it
+# must already exist!
+$WorkDirectory /var/spool/rsyslog
+
+# Use a (disk-assisted) main queue
+# Use a linked list for queueing
+$MainMsgQueueType LinkedList
+# Name to use for the queue file
+$MainMsgQueueFileName main
+# save in-memory data if rsyslog shuts down
+$MainMsgQueueSaveOnShutdown on
+
#
# Include all config files in /etc/rsyslog.d/
#
########################
# Log lines received from other servers (as well as our own logs) centrally.
-$template FacilityLog,"/data/log/rsyslog/%hostname%/facilities/%syslogfacility-text%.log"
-$template SeverityLog,"/data/log/rsyslog/%hostname%/severities/%syslogseverity-text%.log"
-$template AppLog,"/data/log/rsyslog/%hostname%/apps/%app-name%.log"
-$template AllLog,"/data/log/rsyslog/all.log"
+$template FacilityLog,"/data/log/rsyslog/%fromhost%/facilities/%syslogfacility-text%.log"
+$template SeverityLog,"/data/log/rsyslog/%fromhost%/severities/%syslogseverity-text%.log"
+$template AppLog,"/data/log/rsyslog/%fromhost%/apps/%app-name%.log"
# Use a verbose logging format
$template LogFormat, "%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag% %syslogfacility-text%.%syslogseverity-text%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
*.* ?AppLog;LogFormat
# Log all entries in a single file, which is meant to be parsed by logcheck
# (hence the traditional format).
-*.* ?AllLog;RSYSLOG_TraditionalFileFormat
+*.* -/data/log/rsyslog/all.log;RSYSLOG_TraditionalFileFormat
+
+# Debugging format. Based on RSYSLOG_DebugFormat, available in later versions
+# of rsyslogd, with some variations.
+$template DebugFormat,"Debug line with all properties:\nFROMHOST: '%FROMHOST%', HOSTNAME: '%HOSTNAME%', PRI: %PRI%,\nsyslogtag '%syslogtag%', programname: '%programname%', APP-NAME: '%APP-NAME%', PROCID: '%PROCID%', MSGID: '%MSGID%',\nTIMESTAMP: '%TIMESTAMP%', STRUCTURED-DATA: '%STRUCTURED-DATA%', syslogtag: '%syslogtag%'\nmsg: '%msg%'\nescaped msg: '%msg:::drop-cc%'\nrawmsg: '%rawmsg%'\n\n"
+# Uncomment this to have detailed logging for debugging
+#*.* -/data/log/rsyslog/debug.log;DebugFormat
+
#######################
#### Local logging ####
# Emergencies are sent to everybody logged in.
#
*.emerg *
-