Matt, I think Guy wants to count at the Appender level after all filtering is done.
Sent from my iPhone > On 12 Dec 2016, at 3:00, Matt Sicker <boa...@gmail.com> wrote: > > Do you mean something similar to this? > https://docs.oracle.com/javase/8/docs/api/java/util/logging/LogRecord.html#getSequenceNumber-- > > Although I think that has the same limitation as the number won't increase if > the log message is filtered before being appended (or in the JUL vocabulary, > the log record may be filtered before being handled). > > You could generate some Logger wrappers using the tool > <https://logging.apache.org/log4j/2.x/manual/customloglevels.html#CodeGen> > and add in an AtomicLong. Do note that if you're trying to count filtered > messages as well, you're going to lose the benefit of the no-ops when a > message is filtered. Also, this still wouldn't work if someone uses the > pattern: > > if (log.isDebugEnabled()) { > log.debug(...); > } > >> On 11 December 2016 at 07:08, Guy Marom <marom....@gmail.com> wrote: >> Hello again, >> >> Well, I think that both these options are not good for me. >> First I DO want to keep a separate track for each logger so the sequence >> number is no good. >> >> Second, using the a custom pattern or a lookup plugin both seem too >> intrusive to me. What if an appender already has a pattern or a lookup >> defined?. >> >> Unless someone comes up with a better I think I'll stick with my rewrite >> appender and just notify the user they cannot define a filter on the >> appender if they want the metrics to reflect reality. >> >> Thanks a lot for the help, >> >> Guy >> >>> On Sun, Dec 11, 2016 at 2:11 PM, Guy Marom <marom....@gmail.com> wrote: >>> Thanks, I'll take a look at this suggestion! >>> >>>> On Sun, Dec 11, 2016 at 1:56 PM, Remko Popma <remko.po...@gmail.com> wrote: >>>> One option is the SequenceNumber pattern converter %sn in PatternLayout. >>>> This uses a static counter, so if you need to keep separate track of >>>> multiple appenders this may not be useful. >>>> What you could do then is create a custom pattern converter plugin or >>>> lookup plugin. >>>> >>>>> On Sun, Dec 11, 2016 at 8:40 PM, Guy Marom <marom....@gmail.com> wrote: >>>>> Hello everyone, >>>>> I want to count all the logging events into our metrics system >>>>> (Prometheus). Our devs are using this to create alerts for >>>>> Error/Fatal/Warn events. >>>>> >>>>> I gave up using filters because they catch all the events and not just >>>>> the ones that are actually written to the logger. >>>>> >>>>> My current idea is to use a rewrite appender with my own rewrite policy >>>>> which will just increment the relevant counter and not modify the event. >>>>> The problem with this approach is again the filters, if an appender has a >>>>> filter defined then I will count events that end up discarded. >>>>> >>>>> Is there some post-logging hook I can use? An event maybe? Any help will >>>>> be much appreciated... >>>>> Thanks, >>>>> Guy Marom >>>> >>> >> > > > > -- > Matt Sicker <boa...@gmail.com>