For example:
[5/27/09 11:14:15:084 MEST] 1124a9b SystemOut O startTag.getSourceText()=
1124a9b is the thread id and I want to know which classes are loaded on this thread because writing this type of message in SystemOut is not allowed in our environment. Also a thread dump didn't give me the answer I was looking for.
So the question is:
How can I relate the thread id from the SystemOut.log file to a thread in a heap dump?
You cannot. There's no correlation between threads and classloading.
Go to the source library and start using grep.
Ken
Otherwise, you may create a PMR to try to answer your question.
Thank you,
David Yang
WebSphere Portal support
The postings on this site are my own and do not necessarily represent the positions, strategies, or opinions of IBM.
The thread ID from LogRecord must be associated with the thread itself somehow - my guess would be a ThreadLocal object. If this is correct, then your heap dump might contain the LogRecord integer in a ThreadLocal associated with the thread (you might need to convert the thread ID back to decimal to compare).
Certainly, this is not an easy thing to do (if it works at all...), but hopefully it will work for you. If you find another approach, please post it here - I'm very interested in seeing a solution to this myself.
Good luck,
Andy
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6278014
According to this page it was released for Java version 7 if I interpreted it correctly. This means that for Websphere 5 there's no solution to this issue.