What does "-/filepath" ACTION mean in rsyslog configuration
Solution 1:
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
".
Solution 2:
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).