I came across this one Debian Linux installation (6.0.6), and examining its /etc/rsyslog.conf, I see configuration lines like this:

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog

I can't find anything about prepending dashes to the file action in rsyslog.conf(5), and what the meaning of it might be, and would like to know what they actually do.

2 Answers 2


Googled this a bit more, and found this.

In essence, it means to not synchronize the log file to disk every time there is a write, if synchronization behavior is on by default.

It is stated that since v3 the default behavior is not sync, and it's possible to change this by specifying "$ActionFileEnableSync on/off".


To add a bit more context, the "Configuration » Actions" documentation page describes the significance of prefixing output filenames with a - (U+002D "HYPHEN-MINUS"):

You may prefix each entry with the minus “-‘’ sign to omit syncing the file after every logging.

However, that page does not mention the $ActionFileEnableSync configuration statement, nor that it defaults to off as of v3.12.4 (released on 2008-03-25, according to the ChangeLog).

EDIT: I originally (mis)read the page @Pawel linked to, missing the relevant remark inside a parenthetical there:

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).

  • 2
    It still does, search for "placing a dash in front of the output file name", or see "Output File Syncing" section. Nov 19, 2019 at 2:00
  • 1
    @PawelVeselov Right you are. I stand corrected :)
    – chbrown
    Nov 20, 2019 at 15:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.