ConsoleAppender を使用して log4j ロガー上にロガーを作成しました。コードは次のとおりです。
public class AppLogger{
static {
ConsoleAppender ca = new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
org.apache.log4j.Logger.getRootLogger().addAppender(ca);
}
public AppLogger(Class classname) {
logger = LoggerFactory.getLogger(classname);
}
public void debug(String message){
logger.debug(message);
}
...
...
}
log4j.properties ファイルをどこに置くべきかわからないため、使用していません。上記のコードは正常に機能しており、コンソールに正しく記録されています。FileAppender で使用するように変更したいと思います。
次のように静的コンストラクターを単純に更新しました。
FileAppender fa = new FileAppender();
fa.setFile("d:/log.txt");
fa.setLayout(new PatternLayout(PatternLayout.DEFAULT_CONVERSION_PATTERN));
org.apache.log4j.Logger.getRootLogger().addAppender(fa);
fa
の代わりに追加されましたca
。しかし、今私はこのエラーを受けています、
log4j:ERROR [null] という名前のアペンダーに出力ストリームまたはファイルが設定されていません。
File Appender から定義するために欠落しているプロパティがわかりません。