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. > >> > >> > >> > > >