kurukuru-papaのブログ

主に、ソフトウェア開発に関連したメモを書き溜めたいと思います。

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();
    }