我有一個應用程序與多個「控制器」,我想每個日誌到他們自己的文件。這對於他們自己的代碼來說很簡單,但我也使用了一些使用公共日誌記錄的庫代碼。我能以某種方式獲取該代碼以便登錄到特定於控制器的文件嗎?根據線程登錄到不同的文件
我想我能以某種方式通過螺紋做到這一點:
class Controller {
public void action() {
setCurrentThreadLogFile(myLogFile);
try {
Library.stuff();
} finally {
restoreCurrentThreadLogFile();
}
}
}
目前我使用共享記錄我自己的日誌,以及與log4j的作爲後端。但是如果需要的話,我可以改變它,或者使用混合(這在commons日誌框架中是可能的)。
我可以這樣做的一種方法是編寫我自己的commons日誌實現(可能是log4j的包裝),但是有沒有現有的解決方案?
面向方面的編程會成爲您的選擇嗎?我認爲這可以優雅地解決你的問題。 – 2011-02-27 20:13:30