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

Reply via email to