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