我們有一個使用線程的系統,以便它可以並行處理不同的功能位。我們希望找到一種將特定「交易」的所有日誌條目捆綁在一起的方法。通常,可以使用'threadName'將它們聚集在一起,但顯然在多線程情況下失敗。跨多線程的Java日誌記錄
通過每個方法調用都沒有傳遞'事務鍵',我看不到一種方法將這些關聯在一起。將密鑰傳遞給每一種方法都很醜陋。
此外,由於我們的系統是基於它的修改版本構建的,因此我們與Java日誌記錄有關。所以,我會對其他平臺感興趣,以尋找我們可能嘗試的例子,但切換平臺極不可能。
有沒有人有任何建議?
謝謝,
彼得
編輯:不幸的是,我沒有在創建線程的控制,則完全由工作流包處理。否則,爲每個線程緩存ID的想法(在ThreadLocal上可能?),然後在創建新線程時將它設置爲一個好主意。無論如何,我可以嘗試。
你可以設置/之前重置線程ID和調用工作的併發位後(嘗試/終於模式),和然後用它來驅動你的日誌? – 2010-06-04 19:06:38