On Fri, Jun 28, 2013 at 4:39 AM, David Lang <da...@lang.hm> wrote: > On Thu, 27 Jun 2013, Orangepeel Beef wrote: > > Can you do elsif or else if blocks in rainerscript? >> >> I haven't seen it in the documentation, but from a comment that Rainer > made, I think it can be done as > > yup - it's not stated specifically in the doc, because it is "obvious" (to programmers, ok, ok ;)).
You can nest statements as much as you like. "if" is a statement. So "obviously" you can nest "if", because it's "just another statement". That's how it is defined in most programming languages. The "elsif" is IMHO just a bad way to tell an optimizer this is a chain (and from compiler theory, I really don't understand why you want this, but this is taking to far. Note that you are free in how you write, so you can easily write if .. { ... } else if { .... } else if { ... } else { ... } Note that in rsyslog if you don't have any statements that are to be executed in all cases, it is more performant to use "stop" as soon as you are done with the message (the else chain still needs to be evaluated, the details depend on how many messages in the batch did not match the previous if condition). HTH Rainer > > if re_match($fromhost,'^lb.*') then { > *.* action(type="omprog" binary="/usr/local/sbin/sec_**netscaler" > template="RSYSLOG_**TraditionalFileFormat") > } else { > > if re_match($fromhost,'^(as|cs|r)**.*') then { > *.* action(type="omprog" binary="/usr/local/sbin/sec_**comware" > template="RSYSLOG_**TraditionalFileFormat") > } else { > *.* action(type="omprob" binary="/usr/local/sbin/sec_**misc" > template="RSYSLOG_**TraditionalFileFormat") > } > } > > so, no direct elsif, but there is an else > > David Lang > > ______________________________**_________________ > rsyslog mailing list > http://lists.adiscon.net/**mailman/listinfo/rsyslog<http://lists.adiscon.net/mailman/listinfo/rsyslog> > http://www.rsyslog.com/**professional-services/<http://www.rsyslog.com/professional-services/> > What's up with rsyslog? Follow https://twitter.com/rgerhards > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad > of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you > DON'T LIKE THAT. > _______________________________________________ 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 NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.