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