「古のまま止まっている Java の知識によれば、確か printStackTrace() があった筈だから、それを Stream に流して、文字列を作って...」などと考えていたら、J2SE 1.4以降では、Throwable.getStackTrace()という大変メソッドのあることがCodeZineの記事で分かりました。
というわけで、こんな簡単なコードで要求が満たせました(正しくは、getLineNumber() がマイナス値の場合などを考えるべきです)。
Throwable t = new Throwable();
for (StackTraceElement ste: t.getStackTrace()) {
Log.v(TAG, "at " + ste.getClassName()
+ "." + ste.getMethodName()
+ "(" + ste.getFileName()
+ ":" + ste.getLineNumber()
+ ")");
}
分かりやすい記事を公開してくださっているartonさん、どうもありがとうございました。
0 件のコメント:
コメントを投稿