On a related note, the log4j-perf module has experimental source code and a benchmark for a custom formatter. This formatter can only handle the %d{ABSOLUTE} format (HH:mm:ss.SSS) which allows it to take some shortcuts and be 5-7x faster than SimpleDateFormat in single-threaded tests.
However, time formatting didn't seem to be a bottleneck (I didn't test the multithreaded case) so I left it there. If we're going to do some work in this area that code may be useful. For the general case borrowing from commons-lang seems a good idea. Sent from my iPhone > On 2014/09/04, at 13:39, Ralph Goers <ralph.go...@dslextreme.com> wrote: > > That seems like a good idea. > > Ralph > >> On Sep 3, 2014, at 9:11 PM, Yogesh Rao <yog...@gmail.com> wrote: >> >> How abt providing the date formatter as part of log4j itself ( on the lines >> of FastDateFormatter from commons-lang) ? >> >> Regards, >> -Yogesh >> >>> On Thursday, September 4, 2014, Matt Sicker <boa...@gmail.com> wrote: >>> >>> Is it not possible to just use ThreadLocal? Is that not safe enough or does >>> it waste too many resources? >>> >>> >>> On 3 September 2014 18:39, Mohit Anchlia <mohitanch...@gmail.com >>> <javascript:;>> wrote: >>> >>>> Issue created >>>> >>>> https://issues.apache.org/jira/browse/LOG4J2-812 >>>> >>>> >>>> On Wed, Sep 3, 2014 at 4:28 PM, Ralph Goers <ralph.go...@dslextreme.com >>> <javascript:;>> >>>> wrote: >>>> >>>>> The converter uses a SimpleDateFormat which is not thread safe and so >>> is >>>>> synchronized. I am sure there might be minor optimizations that could >>> be >>>>> done to this >>>>> >>>>> What I would do is modify DatePatternConverter to >>>>> a) use Java 8’s java.time.format.DateTimeFormatter if running on Java 8 >>>>> b) use Joda Time’s DateTimeFormat if it is present. >>>>> c) create a pool of SimpleDateFormat objects and use those. >>>>> >>>>> Please create a Jira issue for this. >>>>> >>>>> Ralph >>>>> >>>>> On Sep 3, 2014, at 3:00 PM, Mohit Anchlia <mohitanch...@gmail.com >>> <javascript:;>> >>>> wrote: >>>>> >>>>>> I am using log4j2 and I am seeing almost all the threads >>>>>> momentarily getting blocked on >>>>>> org.apache.loggin.log4j.core.pattern.DatePatternConverter class. Is >>>> this >>>>>> expected? >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>> <javascript:;> >>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>> <javascript:;> >>> >>> >>> >>> -- >>> Matt Sicker <boa...@gmail.com <javascript:;>> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org > For additional commands, e-mail: log4j-user-h...@logging.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org