IMPORTANT: on Linux you need to put a “-” character before the pathname,e.g.,-/var/log/maillog,otherwise the syslogd process will use more system resources than Postfix.
但文档没有给出任何理由.那么,为什么需要这个“ – ”呢?
解决方法
从http://www.rsyslog.com/doc/v3compatibility.html,“输出文件同步”部分
Rsyslogd tries to keep as compatible to stock
syslogd as possible. As such,it retained stock syslogd’s default of
syncing every file write if not specified otherwise (by placing a dash
in front of the output file name). While this was a useful feature in
past days where hardware was much less reliable and UPS seldom,this
no longer is useful in today’s worl. Instead,the syncing is a high
performace hit. With it,rsyslogd writes files around 50 times slower than without it. It also affects overall system performance due to the high IO activity. In rsyslog v3,syncing has been turned off by default. This is done via a specific configuration directive “$ActionFileEnableSync on/off” which is off by default. So even if rsyslogd finds sync selector lines,it ignores them by default. In order to enable file syncing,the administrator must specify “$ActionFileEnableSync on” at the top of rsyslog.conf. This ensures that syncing only happens in some installations where the administrator actually wanted that (performance-intense) feature. In the fast majority of cases (if not all),this dramatically increases rsyslogd performance without any negative effects.