Hello David & Rainer - apologies as I meant to include the version:

rsyslogd 8.24.0, compiled with:
        PLATFORM:                               x86_64-redhat-linux-gnu
        PLATFORM (lsb_release -d):
        FEATURE_REGEXP:                         Yes
        GSSAPI Kerberos 5 support:              Yes
        FEATURE_DEBUG (debug build, slow code): No
        32bit Atomic operations supported:      Yes
        64bit Atomic operations supported:      Yes
        memory allocator:                       system default
        Runtime Instrumentation (slow code):    No
        uuid support:                           Yes
        Number of Bits in RainerScript integers: 64

- - -

On 17 Feb 2022, at 13:04, Rainer Gerhards wrote:

> No, not perfectly. The ampersand of course is invalid, it's just an old
> shortcut forn for joining actions, what in script is done by curly braces.
>
> Version?
>
> Rainer
>
> Sent from phone, thus brief.
>
> Rainer Gerhards <[email protected]> schrieb am Do., 17. Feb. 2022,
> 22:00:
>
>> No, the code is perfectly valid. I guess the outer if evaluates to false.
>>
>> Rainer
>>
>> Sent from phone, thus brief.
>>
>> David Lang via rsyslog <[email protected]> schrieb am Do., 17.
>> Feb. 2022, 21:39:
>>
>>> try:
>>>
>>> if ($hostname contains ‘srv1’) then {
>>>         if ($syslogfacility-text == 'local7') then {
>>>            /var/log/srv1_local7.log
>>>         } else {
>>>            if ($msg contains ‘PROXY’) then {
>>>              /var/log/srv1_proxy.log
>>>           } else {
>>>            /var/log/srv1_main.log
>>>           }
>>>           stop
>>>          }
>>> }
>>>
>>> David Lang
>>>
>>> On Thu, 17 Feb 2022, Antonio Leding via rsyslog wrote:
>>>
>>>> Date: Thu, 17 Feb 2022 20:35:48 +0000
>>>> From: Antonio Leding via rsyslog <[email protected]>
>>>> To: [email protected]
>>>> Cc: Antonio Leding <[email protected]>
>>>> Subject: [rsyslog] Nested if/else-if/else statements
>>>>
>>>> Hello rsyslog community,
>>>>
>>>> Are nested if/else-if/else statements supported?  For example, I tried
>>>> the following but this fails to grab any log messages:
>>>>
>>>> if ($hostname contains ‘srv1’) then {
>>>>       if ($syslogfacility-text == 'local7') then {
>>>>         /var/log/srv1_local7.log
>>>>       } else if ($msg contains ‘PROXY’) then {
>>>>         /var/log/srv1_proxy.log
>>>>       } else {
>>>>         /var/log/srv1_main.log
>>>>       }
>>>>       & stop
>>>> }
>>>>
>>>> Also, if I remove the “& stop” at the end, only the last statement
>>>> for ‘srv1_main.log’ grabs log messages.
>>>>
>>>> Thanks in advance.
>>>> _______________________________________________
>>>> rsyslog mailing list
>>>> https://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.
>>> _______________________________________________
>>> rsyslog mailing list
>>> https://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.
>>
>>


_______________________________________________
rsyslog mailing list
https://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.

Reply via email to