This sounds interesting. I might give it a whirl but  firstI am trying to 
finish up some work on 
Apache Flume so it can get a new release and I need to do some other work here 
as we 
are overdue for a release.

Ralph

> On Oct 21, 2021, at 11:28 AM, Adwait Kumar Singh 
> <theadvaitkumarsi...@gmail.com> wrote:
> 
> The problem I am stuck on is the best way to get the user to provide the
> ruleSupplier via configuration.
> 
> On Thu, Oct 21, 2021 at 11:55 PM Adwait Kumar Singh <
> theadvaitkumarsi...@gmail.com> wrote:
> 
>> Yes I mean filtering on those loggers.
>> 
>> I don't expect the Supplier to be dynamically changed, only the rules they
>> are fetching. Something roughly like this
>> 
>> public class RuleBaseFilter extends AbstractFilter {
>> 
>>    //This will be initialized only once
>>    Supplier<List<Rules>> rulesSupplier;
>> 
>> 
>>  @Override
>>   public Result filter(final Logger logger, final Level level, final
>> Marker marker, final Message msg,
>>       final Throwable t) {
>>        List<Rules> rules = rulesSupplier.get();
>>        //evaluate rules and filter
>>  }
>> 
>> }
>> 
>> 
>> 
>> 
>> 
>> On Thu, Oct 21, 2021 at 11:19 PM Ralph Goers <ralph.go...@dslextreme.com>
>> wrote:
>> 
>>> Sorry, you have lost me a little bit.
>>> 
>>> When you say dynamically turn on/off loggers I am assuming you really
>>> mean
>>> enable/disable filtering on those Loggers?
>>> 
>>> Are you thinking that the rules can be added or removed dynamically? Or
>>> just the
>>> parameters to the rules? I ask because you can’t really add a Supplier
>>> dynamically
>>> if it is part of the configuration. Log4j will process the configuration
>>> only when it is
>>> changed. However, the data they rely on can come from anywhere - more or
>>> less
>>> how we use Lookups to evaluate conditions on every log event.
>>> 
>>> Ralph
>>> 
>>>> On Oct 21, 2021, at 8:44 AM, Adwait Kumar Singh <
>>> theadvaitkumarsi...@gmail.com> wrote:
>>>> 
>>>> This is still in the proof of concept phase, but what I am trying to do
>>> is
>>>> create a filter which allows developers to dynamically turn on/off
>>> loggers
>>>> based on some parameters without restarting their system. The parameters
>>>> can be varied, like:
>>>> 1. Turn on WARN log levels of a particular class.
>>>> 2. Turn on TRACE logging only on a particular host.
>>>> 3. Turn on DEBUG logs only for requests by a particular client for a
>>> short
>>>> duration,
>>>> ... and any combination of such parameters.
>>>> 
>>>> The way I was thinking of doing this was creating a filter which takes
>>> in a
>>>> Supplier<Rule> and then evaluates a log event against that rule.
>>>> 
>>>> On Thu, Oct 21, 2021 at 7:37 PM Apache <ralph.go...@dslextreme.com>
>>> wrote:
>>>> 
>>>>> It sounds to me like you want to create a new type of plugin similar to
>>>>> PatternConerters. I am curious as to what your filter does. Is it
>>> something
>>>>> that would be useful to others so that we would be interested in
>>> including
>>>>> it?
>>>>> 
>>>>> Ralph
>>>>> 
>>>>>> On Oct 21, 2021, at 6:07 AM, Adwait Kumar Singh <
>>>>> theadvaitkumarsi...@gmail.com> wrote:
>>>>>> 
>>>>>> I am creating a filter which requires the user to give a
>>> Supplier<Rule>
>>>>> to
>>>>>> fetch some custom rules. I am wondering how to go about getting this
>>>>>> Supplier from the configuration xml.
>>>>>> 
>>>>>> One way I have thought of is using some sort of Registry and then just
>>>>>> asking the user to provide a key to lookup into the Registry to fetch
>>> the
>>>>>> Supplier. The user then registers his Supplier to this Registry in
>>> Java
>>>>>> code.
>>>>>> What are your thoughts on this and do you guys know of a better way
>>> to do
>>>>>> this?
>>>>>> 
>>>>>> Thanks,
>>>>>> Adwait.
>>>>> 
>>>>> 
>>>>> 
>>> 
>>> 
>>> 


Reply via email to