2010-03-05 72 views
1

我剛剛開始遷移到WLS 10.x,並注意到WL的線程名稱[%t]相當詳細,比我需要的部署需求更豐富。定製Log4j過濾PatternLayout

最終,我只關心線程ID,但WL使我這個:<

[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' 
~ 

有誰知道是否有在log4j的一種方式來編寫自定義過濾器,讓我重寫PatternLayout如此我可以解析WLS線程名稱來輸出線程ID,在這種情況下,上面是0?我寧願擴展然後自定義,因爲它使升級庫變得更容易。

回答

0

你想寫你自己的轉換詞。在logback中你可以在幾分鐘內完成。請參閱custom conversion specifiers上的章節。

如果你真的很懶,並且無法編寫自定義轉換詞,請告訴現有的throwable將線名修剪爲26個字符。該模式將是「%26線程」。我選擇了26,因爲這是「[ACTIVE] ExecuteThread:'0'」的長度。