commons-lang ReflectionToStringBuilderでログ出力
たぶん、以前にも使った事があると思うのですが、忘れてしまっていたのでメモしておきます。
Javaプログラミングをしていて、あるオブジェクトのフィールドの内容をログに出力したい場合が、よくあります。フィールドが1つ2つならまだしも、10,20ある場合、フィールドを1つずつログ出力する記述を行うと手間がかかるし、フィールドが追加・削除されたときに同期をとるのが大変です。
そこで、commons-langのReflectionToStringBuilderクラスの出番です。このクラスは、リフレクションを使用して、あるオブジェクトのフィールド内容を文字列に変換してくれます。フィールドが配列が配列の場合は、配列の各要素を文字列にしてくれます。フィールドが別のクラスのオブジェクトの場合は、そのオブジェクトの内容も出力してくれます。
使用方法は、簡単。
1.次のURLから、commons-lang-x.x.jarをダウンロードします。
http://commons.apache.org/lang/
2.自分のJavaプログラミング内で、次のように記述します。
public String toString() { return (new ReflectionToStringBuilder(this)).toString(); }