On Sep 19, 2011, at 1:44 AM, Joern Huxhorn wrote:

> 
> On 19.09.2011, at 09:36, Ralph Goers wrote:
> 
>> 
>> On Sep 18, 2011, at 4:56 PM, Joern Huxhorn wrote:
>> 
>>> 
>>> On 19.09.2011, at 01:29, Ralph Goers wrote:
>>> 
>>>> 
>>>> On Sep 18, 2011, at 3:01 PM, Joern Huxhorn wrote:
>>>> 
>>>>> Sorry, I was confused and mixed something up...
>>>>> 
>>>>> I *planned* to implement a thread-specific sequence number but never did 
>>>>> so. I also considered logging the ThreadGroup-hierarchy but didn't do so, 
>>>>> yet, because of the expected performance impact.
>>>>> 
>>>>> Which reminds me, completely off-topic, of another idea concerning a 
>>>>> custom Message implementation:
>>>>> A ThreadDumpMessage that would not get any parameter at all and would 
>>>>> consist of a ThreadDump if it is actually logged, including the 
>>>>> ThreadGroup info etc..
>>>>> This would have helped me immensely in the past. Instead, I had to 
>>>>> trigger thread dumps via SIG_QUIT at a random points of execution.
>>>>> 
>>>>> Such a Message wouldn't be used in production under normal circumstances 
>>>>> but could be enabled in case of strange concurrency issues...
>>>> 
>>>> I added it, but as I said, I wish I knew how to include the locks. 
>>>> 
>>>> FWIW, I could have used this 2 days ago when we were trying to debug just 
>>>> such a concurrency issue.
>>>> 
>>> 
>>> I think 
>>> http://download.oracle.com/javase/6/docs/api/java/lang/management/ThreadMXBean.html
>>>  could be what you are looking for. 
>>> Haven't given it a try, yet.
>> 
>> Unfortunately, all the good lock information was added in 1.6.  
>> 
> 
> Yes, it is calling for some reflection magic.
> You'd have to reimplement LockInfo and MonitorInfo, though...

I believe I've solved this with the minimum amount of reflection. However, it 
now requires that Log4j 2 be compiled with Java 6. It should still be able to 
run on Java 5. I tried to declare that in the compiler plugin but it throws an 
exception if source = 1.6 and target = 1.5. I believe the enforcer plugin would 
do it though.

Ralph
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to