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


































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
















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