There can be many appenders attached to an AsyncAppender and their layouts may change 
dynamically. Trying to optimize this is imho pushing it too far. :-) Cheers, Ceki 

At 12:21 15.06.2001 -0400, you wrote:
>Might be worthwhile making it optional whether to fill in thread name
>with AsyncAppender as it's not always needed. Or else, I suppose, it
>could be clever and figure it out itself from the configured layout.
>
>Anders
>
>
>Ceki Gülcü wrote:
>> 
>> Jim,
>> 
>> That's true but in AsyncAppender:
>> 
>> public
>> void append(LoggingEvent event) {
>>   // Set the NDC and thread name for the calling thread as these
>>   // LoggingEvent fields were not set at event creation time.
>>   event.getNDC();
>>   event.getThreadName();
>>   if(locationInfo) {
>>     event.getLocationInformation();
>>   }
>>   ...
>>  }
>> 
>> Fetching the current thread takes a few milliseconds compared to a mehtod call 
>which takes a few dozen nanoseconds. The idea is to avoid the cost of 
>Thread.currentThread if it is not required. Hence the lazy fill in of the thread name 
>field. In AsyncAppender we can no longer rely on being in the same thread so it gets 
>filled in at the start of AsyncAppender.doAppend. Hope this clarifies the issue. Ceki
>> 
>> At 19:31 14.06.2001 -0500, Jim Moore wrote:
>> >As was just brought out on the Users list, the thread name is part of the
>> >LoggingEvent, but the current implementation is:
>> >  public String getThreadName() {
>> >    if(threadName == null)
>> >      threadName = (Thread.currentThread()).getName();
>> >    return threadName;
>> >  }
>> >so if it's not asked for that information until it's in an AsyncAppender (or
>> >having been serialized to a server) then it will give the wrong name.
>> >
>> >Any reason for threadName to not get set at LoggingEvent creation?
>> >
>> >-Jim Moore
>> >
>> >---------------------------------------------------------------------
>> >To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >For additional commands, e-mail: [EMAIL PROTECTED]
>> 
>> --
>> Ceki Gülcü
>> 
>> ---------------------------------------------------------------------
>> 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]

--
Ceki Gülcü


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to