2012-05-12 37 views
5

有沒有什麼方法可以記錄/記錄/監視/查看Java程序中每個方法的執行情況。記錄每個方法執行

例如:

12:30:12 someMethod("argument") 
12:30:12 anotherMethos(1, 2, 3) 
12:30:13 finalMethod("invalidInputHere1234") 
+1

看看這篇文章:http://extranet.ipl.be/OOMADB/document/IPL_cours/COO/logging-at-loadingTime.htm – ChristopheD

+1

http://stackoverflow.com/questions/4823557/java- logging-method-calls&http://stackoverflow.com/questions/4653013/is-there-an-aspect-already-written-and-tested-well-for-trace-logging – assylias

+0

使用探查器<> – bestsss

回答

3

簡單的答案:修改方法,並插入記錄的聲明。

更復雜的答案,即使您無法修改該方法,該答案仍然有效:查看基於方面的編程。

+0

我想要跟蹤數百種方法,所以不能真正改變它們中的每一種。有沒有辦法監控Java程序的執行情況以查看正在運行的方法?我知道我可以使用NetBeans來跟蹤變量的值 - 哪些方法已執行? – jSherz

+2

看看[這篇文章](http://mathewjhall.wordpress.com/2011/03/31/tracing-java-method-execution-with-aspectj/) – Amadan

0

您可以使用@Loggable註釋從jcabi-aspects,它包裝你想用一個簡單的日誌機制來調試所有方法:

@Loggable(Loggable.DEBUG) 
public String load(URL url) { 
    return url.openConnection().getContent(); 
} 

它通過SLF4J登錄。

相關問題