Indeed, Integer.MAX_VALUE is 2^31. On a recent PC, an application doing nothing but logging, can log around 100'000 messages per second. The sequence number of such an application will reach 2^31 after about two hours of continuous logging (or approx. 200 GB of logs).
As David mentioned atomic long is probably a better alternative.
import java.util.concurrent.atomic.AtomicLong;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.classic.pattern.ClassicConverter
public class LocalSequenceNumberConverter extends ClassicConverter {
AtomicLong sequenceNumber = new AtomicLong(0);return Long.toString(sequenceNumber.getAndIncrement());
@Override
public String convert(ILoggingEvent event) {
}
}
A volatile long is not guaranteed to work properly because incrementing a long is not atomic whereas incrementing a int is.
On 03.07.2013 00:01, David Roussel 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 tried a static number but it was sred across threads so it didn't
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
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-web.html
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
_______________________________________________
Logback-user mailing list
Logback-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user