如何獲取call stack(調用棧)信息——之二
從這兒可以看到:注意如果客戶端程序沒有顯式地指定源方法名和源類名,則LogRecord 類將通過分析 call stack(調用棧)來自動提取這些信息(方法getSourceMethodname和方法getSourceClassName),我們已經走在正確的道路上了,繼續追查getSourceMethodname()…………


































沒錯,就是這個StackTraceElement數組記載了我們想要的信息(類名,方法名等),這和我們用到的Exception類中的顯示調用棧是一個道理的。
注意:這兒通過創建一個Throwable實例,并利用在Throwable類中提供這個getStackTrace()方法,返回是StackTraceElement數組來獲取到了調用棧信息。
我們來看一個小例子
















打印如下
chapter5.CallStack.showTrace(CallStack.java:5)
我們亦可以通過這樣一個簡單地實例化一個Throwable來獲取相應的call strack。
不過,一般的應用級程序里面不太會用到它,可能在工具級軟件里面用得多一點了:)
posted on 2005-03-13 18:25 carob 閱讀(4560) 評論(1) 編輯 收藏 所屬分類: Reflection