logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: org.apache.loggin.log4j.core.pattern.DatePatternConverter blocking
Date Thu, 04 Sep 2014 06:40:13 GMT
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.goers@dslextreme.com> wrote:
> 
> That seems like a good idea.
> 
> Ralph
> 
>> On Sep 3, 2014, at 9:11 PM, Yogesh Rao <yogu13@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 <boards@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 <mohitanchlia@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.goers@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 <mohitanchlia@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-unsubscribe@logging.apache.org
>>> <javascript:;>
>>>>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>> <javascript:;>
>>> 
>>> 
>>> 
>>> --
>>> Matt Sicker <boards@gmail.com <javascript:;>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Mime
View raw message