2012-12-25 24 views
3

我想一個插件添加到我的Eclipse(太陽神),它記錄我的功能開始和end.To更精確,進出口尋找這樣的事情..對Java的Eclipse插件,它會自動將事件記錄

TestClass { 

private static final Logger logger = Logger.getLog("TestClass"); 
    public void displayHello() { 
    System.out.println("Fooo"); 
    } 
} 

後,我添加插件並啓用日誌記錄功能,即時通訊需要下列

TestClass { 
    private static final Logger logger = Logger.getLog("TestClass"); 
    public void displayHello() { 
    logger.debug ("displayHello() - Started"); 
    System.out.println("Fooo"); 
    logger.debug ("displayHello() - Ended"); 
    } 
} 

我記得使用一些方法來獲得相同的前面,但我無法記得同now.Can誰能幫我這個?

感謝 阿尼什

+0

(函數式編程完全是其他功能) – 2012-12-25 06:53:02

+2

儘管可能不需要,請參閱AspectJ – 2012-12-25 06:55:39

+0

不知道我是否理解使用插件自動添加日誌記錄的原因。如果你想記錄進入/退出(還有更多的東西),我建議使用d perf4j(http://perf4j.codehaus.org/)。如果你在你的代碼中使用spring,你可以使用它來啓用你的方法中的AOP。 –

回答

2

你應該看看AspectJSpring AOP其支持這樣的事情,

execution(* com.java.test..*.*(..)) 

將覆蓋項目的所有子包中的所有方法。所以不需要逐個定義所有的方法。

0

由於問題是關於Eclipse插件,我假設你想記錄的地方不一定存在於一個插件中。 AspectJ是一個很好的建議。然而,標準的AspectJ或Spring AOP將不夠用,因爲它是基於類加載器的。您將需要使用Equinox Weaving

Equinox Weaving以OSGi感知的方式執行加載時織入。實質上,您可以使用適當的編織配置來創建插件並擴充清單文件。