実行中のメソッド名やクラス名を取得する方法
new Throwable()やThread.currentThread()のgetStackTrace()を使用すると、このクラスはStackTraceElement型の配列を返却するので、
呼び出し元のスタックフレームの情報を得ることができます。
またエラーではないときの、スタックトレースなどにも使用できます。
Throwable#getStackTrace()はJ2SE1.4から追加されています。
Thread#getStackTrace()はJ2SE5.0から追加されています。
この配列つまりスタックの最初である0番目の要素が、Throwableクラスを生成したメソッドを表す要素となります。
new Throwable().getStackTrace()[0].getMethodName() または Thread.currentThread().getStackTrace()[0].getMethodName()
このようにすると、このコードが書かれている部分のメソッド名を取得することができます。
getFileName() | ファイル名 | Test.java |
getClassName() | クラス名 | Test |
getMethodName() | メソッド名 | traceTest |
getLineNumber() | 行数・行番号 | 100 |
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace(); for (StackTraceElement stackTraceElement : stackTraceElements) { System.out.println("-----------------------------"); System.out.println("ClassName : " + stackTraceElement.getClassName()); System.out.println("FileName : " + stackTraceElement.getFileName()); System.out.println("MethodName : " + stackTraceElement.getMethodName()); System.out.println("LineNumber : " + stackTraceElement.getLineNumber()); System.out.println("-----------------------------"); }
関連記事
- 文字列の置き換えを行う方法 (replaceAllで気をつけること)
- 文字列の部分一致検索を行う方法
- Java メモリー使用量を取得する方法
- Singletonパターンを使ってクラスのインスタンスを1つにする(共有クラスのリソースを削減する方法)
- ファイルのテキストデータを読み込む
- テキストデータをファイルに書き込む BufferedWriterの使用例
- Webからダウンロードして保存する DefaultHttpClientの使用例
- ファイルをコピーする InputStream,OutputStreamの使用例
- 暗号化・複合化を行う ブロック暗号
- base64変換の一覧とその詳細サンプルコード
- 型変換の一覧(キャスト)
- 処理を一定時間停止させる方法
- ファイルの拡張子を取得する
- Java
- サンプルコード
- Android
- facebook APIを使用する時にfacebook Appsでアプリを登録するまでの流れ
- Mobile Network Code(MNC)の一覧[A-B]
- 変数のデータ型
- Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
- Javaをコマンドラインから実行する
- apkファイルインストール時のエラー一覧
- Java JDK6のインストール
- SELECTタグで色を選択する場合のサンプル
- Androidアプリの開発環境を作る方法
- 処理中を表すプログレスダイアログを表示する
- WebViewの設定一覧
- Mobile Network Code(MNC)の一覧[C-D]
- 動画を再生する方法 MediaPlayer
- Androidのコードネーム
- 画像を拡大縮小する方法
- Eclipseで逆コンパイルを行う JadClipse
- SDカードからサムネイル画像を取り出す getThumbnailメソッド
スポンサーリンク