
This should work: import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.classic.pattern.ClassicConverter; public class SequenceNumberConverter extends ClassicConverter { volatile int sequenceNumber = 0; @Override public String convert(ILoggingEvent event) { return Integer.toString(sequenceNumber++); } } On 02.07.2013 23:50, ceki wrote:
In your custom converter, declare a sequenceNumber as follows:
*volatile* int sequenceNumber = 0;
increment sequenceNumber for each new event:
sequenceNumber++;
That's it.
On 02.07.2013 23:21, Felipe wrote:
Hi everyone:
I'm writing to all of you because I want to display a sequence number for each event. I've done some research regarding this and I know for sure that LogBack is not able to natively handle this as Log4j2 does with %sn, or as JUL partially does with getSequenceNumber() (I won't be changing LogBack because of this, anyway).
I know for sure LogBack is lacking this functionality because of this issue on JIRA:
http://jira.qos.ch/browse/LOGBACK-546
That issue is a four years old boy now.
I found a link on Stack Overflow (http://stackoverflow.com/questions/11162951/line-numbers-with-logback) which lead me to the following link:
http://logback.qos.ch/manual/layouts.html#customConversionSpecifier
I tried a static number but it was shared across threads so it didn't work that well. I also thought of ThreadLocal but I read a story which freaked me out:
http://niklasschlimm.blogspot.com/2012/04/threading-stories-threadlocal-in-w...
Does anyone know of a good way to achieve sequentials?
Best regards and thanks in advance.
-- Felipe
-- Ceki 65% of statistics are made up on the spot