24

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

21

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

5

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .