スピードや、スレッド同期、ログローテートを求められる状況だったので、
定評のあるlog4jにしようと思って・・・途中から意地になってるのもありましたが。
結局、自前で実装しました。(大したことはやってませんが)

ところで別件ですが、

class Foo
{
static private String XXX = "not initialized."; // <-[A]
static private Foo foo = new Foo ();

private Foo ()
{
XXX = "initialized.";
}

static public void Func ()
{
System.out.println (XXX);
}
}

みたいなコードで、
Foo.Func ();
を実行し、
not initialized.
と表示される場合ってあるでしょうか??