Apache ロガー静的オブジェクトを定義するこの親抽象クラスがあります。このようなもの:
import org.apache.log4j.Logger;
public abstract class A {
private final static Logger logger;
(...)
}
ロガー オブジェクトが初期化されていないため、このコードが違法であることはわかっています。問題は、 logger = Logger.getLogger(A.class); で初期化したくないことです。各子クラスを独自のクラス オブジェクトで初期化する必要があるため、どのクラスがどのエラーを引き起こしたかを知ることができます。
しかし同時に、基本クラス A にいくつかのロギング メソッドを含めたいと考えています。
これのベストプラクティスは何ですか?A.class で初期化してから、子クラスごとに再インスタンス化する必要がありますか? どういうわけか、それは私には間違っているように感じます。