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