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 <[email protected]> wrote:
>
> That seems like a good idea.
>
> Ralph
>
>> On Sep 3, 2014, at 9:11 PM, Yogesh Rao <[email protected]> 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 <[email protected]> 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 <[email protected]
>>> <javascript:;>> wrote:
>>>
>>>> Issue created
>>>>
>>>> https://issues.apache.org/jira/browse/LOG4J2-812
>>>>
>>>>
>>>> On Wed, Sep 3, 2014 at 4:28 PM, Ralph Goers <[email protected]
>>> <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 <[email protected]
>>> <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: [email protected]
>>> <javascript:;>
>>>>> For additional commands, e-mail: [email protected]
>>> <javascript:;>
>>>
>>>
>>>
>>> --
>>> Matt Sicker <[email protected] <javascript:;>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]