[OpenWrt-Devel] [PATCH] logread: add option to filter for facilities

John Crispin john at phrozen.org
Fri Jul 26 04:32:20 EDT 2019


On 26/07/2019 09:57, Zefir Kurtisi wrote:
> On 7/25/19 5:58 PM, John Crispin wrote:
>> On 25/07/2019 17:43, Zefir Kurtisi wrote:
>>> This adds filtering options for facilities as follows:
>>>       -z    <facility>    handle only messages with given facility (0-23),
>>> repeatable
>>>       -Z    <facility>    ignore messages with given facility (0-23), repeatable
>>>
>>> With that
>>> * 'logread -z 2 -z 16' will display all MAIL and LOCAL0 messages, while
>>> * 'logread -Z 2 -Z 16' will display all but MAIL and LOCAL0 messages
>>>
>>> Signed-off-by: Zefir Kurtisi <zefir.kurtisi at neratec.com>
>>> ---
>>>    log/logread.c | 29 +++++++++++++++++++++++++++--
>>>    1 file changed, 27 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/log/logread.c b/log/logread.c
>>> index e47541a..a764742 100644
>>> --- a/log/logread.c
>>> +++ b/log/logread.c
>>> @@ -66,6 +66,18 @@ static int log_type = LOG_STDOUT;
>>>    static int log_size, log_udp, log_follow, log_trailer_null = 0;
>>>    static int log_timestamp;
>>>    static int logd_conn_tries = LOGD_CONNECT_RETRY;
>>> +static int facility_include;
>>> +static int facility_exclude;
>>> +
>>> +/* check for facility filter; return 0 if message shall be dropped */
>>> +static int check_facility_filter(int f)
>>> +{
>>> +    if (facility_include)
>>> +        return !!(facility_include & (1 << f));
>>> +    if (facility_exclude)
>>> +        return !(facility_exclude & (1 << f));
>>> +    return 1;
>>> +}
>> correct me if I am wrong but by default all facilities will be included so the -z
>> is a noop unless we add a
>>
>> if (facility_include)
>>
>>      retrun 0
>>
>> at the end of this function ?!
>>
>>      John
>>
>>
> Hi John,
>
> if you pick at least one facility to include, you get into the topmost
> 'if (facility_include)' branch of the function and return immediately. You get to
> the end of the function only if both (include and exclude) are 0.
>
> This implies that including facilities has precedence over excluding them, which
> is irrelevant since it does not make sense to use include and exclude at the same
> time.
>
> Cheers,
> Zefir

apparently I was blind

     John


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list