1. 程式人生 > >利用執行緒執行棧StackTraceElement設計Android日誌模組

利用執行緒執行棧StackTraceElement設計Android日誌模組



如果你想在你的Android程式中自動列印MainActivity.onCreate(line:37)這種類名.方法名(行數)的日誌該如何實現呢?

1.引入Java的線2.日誌模組設計

Java.lang包中提供了StackTraceElement,可以用來獲取方法的呼叫棧資訊。通過呼叫執行緒函式Thread.currentThread().getStackTrace()可以獲得StackTraceElement[]的堆疊陣列,陣列中儲存了執行緒中的執行呼叫的方法。觀察下面的程式碼:

在onCreate方法中呼叫getStackTrace方法獲取呼叫棧的資訊。列印的結果如下:

觀察輸出結果可以看出棧中先執行的方法是VM和Thread中的方法。第3條才是你呼叫所在的方法(呼叫getStackTrack的方法)。

2.日誌模組設計