# if you experience problems, check
# http://www.rsyslog.com/troubleshoot for assistance

$ModLoad immark   # provides --MARK-- message capability
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # kernel logging (formerly provided by rklogd)
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup root
$FileCreateMode 0644
$DirCreateMode 0755
$SystemLogRateLimitInterval 2
$SystemLogRateLimitBurst 500

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
$template DailyPerHostLogs,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_messages.log"
$template DynFile,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_%programname%.log"
$template DynMail,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_maillog.log"
$template DynCron,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_cron.log"
$template DynBoot,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_boot.log"
$template DynSpooler,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_spooler.log"
$template DynLighttpd,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_lighttpd.log"
$template DynMythExpress,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythexpress.log"


if $programname contains 'lighttpd' then ?DynLighttpd
& stop
if $programname startswith 'mythexpress' then ?DynMythExpress
& stop

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
#*.info;mail.none;authpriv.none;cron.none                -/var/log/messages
*.info;mail.none;authpriv.none;cron.none;local6.none                -?DailyPerHostLogs
*.info;mail.none;authpriv.none;cron.none;local6.none                -?DynFile

# The authpriv file has restricted access.
#authpriv.*                                              /var/log/secure
authpriv.*                                              ?DynFile

# Log all the mail messages in one place.
#mail.*                                                  -/var/log/maillog
mail.*                                                  ?DynMail

# Log cron stuff
#cron.*                                                  -/var/log/cron
cron.*                                                  ?DynCron

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
#uucp,news.crit                                          -/var/log/spooler
uucp,news.crit                                          -?DynSpooler

# Save boot messages also to boot.log
#local7.*                                                /var/log/boot.log
local7.*                                                ?DynBoot

# Remote Logging (we use TCP for reliable delivery)
# An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again.
#$WorkDirectory /rsyslog/spool # where to place spool files
#$ActionQueueFileName uniqName # unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
#$ActionQueueType LinkedList   # run asynchronously
#$ActionResumeRetryCount -1    # infinite retries if host is down

$IncludeConfig /etc/rsyslog.d/*.conf

# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional

#*.* @@localhost:514

# ######### Receiving Messages from Remote Hosts ########## 
# TCP Syslog Server:
# provides TCP syslog reception and GSS-API (if compiled to support it)
#$ModLoad imtcp.so  # load module
#$InputTCPServerRun 514 # start up TCP listener at port 514
# UDP Syslog Server:
#$ModLoad imudp.so  # provides UDP syslog reception
#$UDPServerRun 514 # start a UDP syslog server at standard port 514




#$ModLoad ommysql # load MySQL functionality

#*.* :ommysql:vmbe,Syslog,syslog,passwd