アーカイブ ‘ 2007年 6月

Java Tips – 実行中のメソッド名を取得するには


ログを出力する時にクラス名やメソッド名を含めて出力することがありますが、
メソッド名を文字列で埋め込んでいると、
メソッド名を変更した場合にログに出力する文字列の方を直し忘れたり、
他のところからコピーしたままで別のメソッド名のままになってたりするので、
動的に取得できる方法がないかと探していたところ、

new Throwable().getStackTrace()[0].getMethodName();

で取得できることが分かりました。

でも、Throwableのインスタンスを生成していて、かなりコストが掛かりますのでご注意を。。。

return top