We are still using the legacy config format for rsyslog in https://github.com/vyos/vyos-1x/blob/bb4611544ff73a979f927a7a1c8ea3dd1c56fb48/data/templates/rsyslog/rsyslog.conf.j2
It has been superseded by a new format:
https://www.rsyslog.com/doc/configuration/converting_to_new_format.html
There are some associated issues. For example, we use $markMessagePeriod for "set system syslog global marker interval", which sends mark messages unconditionally. New rsyslog versions support sending mark messages only if there are no real messages, the old directive is now listed as obsolete (https://www.rsyslog.com/doc/configuration/input_directives/rsconf1_markmessageperiod.html) and its replacement seems to be only available in the advanced format.
It also allows running rsyslog in a VRF context, an additional argument in favor of it.
In addition to the rewrite we should keep the syslog simpler then it currently is:
- Drop file CLI option to log to dedicated files.
- Drop user CLI option to always log to user terminal - should be an op-mode command instead
- Add new source-address option for outgoing connections