The 'Rule' interface, RuleFactory and LoggingEventFieldResolver are used to support expressions..simple stuff, but it works...maybe it's time to throw this away completely and leverage a third-party API instead?
Rule, RuleFactory http://svn.apache.org/viewvc/logging/log4j/companions/extras/trunk/src/main/java/org/apache/log4j/rule/ ExpressionFilter: http://svn.apache.org/viewvc/logging/log4j/companions/extras/trunk/src/main/java/org/apache/log4j/filter/ LoggingEventFieldResolver: http://svn.apache.org/viewvc/logging/log4j/companions/extras/trunk/src/main/java/org/apache/log4j/spi/ Scott On Mon, Feb 6, 2012 at 11:00 AM, Scott Deboy <[email protected]> wrote: > Yeah I don't mind doing that work. One thing that was a slightly > significant change to the LoggingEvent implementation in log4j 1.2 - I > needed to be able to track expression matches, which impacted the API a bit > (find/colorizing expressions are displayed in the gutter on the right, time > deltas show up in the gutter on the left)..that allows me to render a > 'color' for an event without re-running the evaluation expression. > > I think that's an implementation detail and doesn't need to be in the > interface, but that's the one place in Chainsaw where the 'core' logging > event wasn't sufficient. > > Scott > > > On Mon, Feb 6, 2012 at 10:55 AM, ralph.goers @dslextreme.com < > [email protected]> wrote: > >> >> >> On Mon, Feb 6, 2012 at 10:35 AM, Scott Deboy <[email protected]>wrote: >> >>> I wouldn't mind getting rid of the implementation behind the current >>> expression/expressionfilter support (also used in Chainsaw). Were there >>> improvements in that area? >>> >>> The expression support has some limits which I don't love - yes, you >>> can define regexps and use relational and logical operators and grouping, >>> but I would love to be able to have something like an 'around' operator >>> that would work off of either of events (ten events around a warning >>> message), and/or a time-based version (events within +- 1 minute of a >>> warning message). >>> >>> >> Oh - and I haven't ported chainsaw into Log4j2. When that happens I >> expect it will be a new module. >> >> Ralph >> > >
