1. ホーム
  2. logging

log4jのロギングを2回行う

2023-10-10 06:48:28

質問

私は、エラーと他のシステム情報をログに記録するためにlog4jを使用しています。

public static void main(final String... args) throws Exception {

    LOGGER.info("program started");
    try {
        // try body codes
    } catch (Exception ex) {
        LOGGER.info("program start-up failed.",ex);
    }
}

しかし、プログラムが開始または失敗したときに情報が2回記録され、誰かその理由が何であるかを見つけるために私を助けることができる。

どのように解決するには?

両方のアペンダーを設定しているため、メッセージがルート ロガーによって一度記録され、特定のロガーによって再度記録されているように見えます(プロパティ ファイルとコード内の異なる場所である可能性があります)。

これは 追加性 を false に設定することで解決します。Log4j マニュアル は、Appenders and Layoutセクションで追加性について言及します。