Hi all,
rsyslog supports BSD-style blocks (e.g. !programname) since ages. With the new
v7 config syntax, they become very complex to use (as as a side-effect the
current block setting will be applied to all filters and actions, regardless of
the nesting level[1] the filter is in). This causes complex program logic
(read: bug potential) and makes the config file very hard to understand and
easy to get wrong (especially with when an include file is improperly crafted).
To avoid all this, I intend to drop support for BSD-style blocks in v7. When
such a block is encountered, an error message pointing to a "how to replace it"
link will be emitted.
If anybody thinks BSD style blocks are a "must have", please speak up now, and
with good arguments. Otherwise, they'll disappear very soon.
Thanks,
Rainer
[1]Think that the new engine supports nesting. Now think of the potential
side-effects of such a construct:
!progname1 # NO LONGER POSSIBLE
if $msg contains 'test' then {
!progname2 # NO LONGER POSSIBLE
action(type="omfile" )
*.* :mmjsonparse:
& ~
& action(type="aa")
!progname4 # NO LONGER POSSIBLE
if $msg contains 'test2' then
*.* /home/rger/proj/rsyslog/logfile
else
/home/rger/proj/rsyslog/logfile2
}
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards