すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:EDAS を使用する場合、上書きの問題が原因で Log4j ログが想定どおりに生成されない場合はどうすればよいですか。

最終更新日:Mar 05, 2025

問題の説明

Enterprise Distributed Application Service (EDAS) を使用する場合、Log4j ログが想定どおりに生成されません。

原因

Log4j ログが上書きされます。その結果、ログが想定どおりに生成されません。

解決策

  1. Log4j 設定ファイルのデフォルト名を変更します。

    説明

    デフォルト名を使用すると、Log4j 設定ファイルは自動的にマスクされます。

  2. Spring の Log4jConfigListener を設定し、web.xml に次の設定を追加して、Log4j 設定ファイルのパスを変更します。

     <listener>
         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
     </listener>
     <context-param>
         <param-name>log4jConfigLocation</param-name>
         <param-value>WEB-INF/log4j-[$App_Name].xml</param-value>
     </context-param>     

    [$App_Name]: アプリケーションの名前。

  3. アプリケーションを起動します。

    説明
    1. Pandora は、組み込みの Log4j.jar ファイルを読み込み、次に組み込みの Log4j 構成ファイルを読み込みます。この場合、アプリケーションの構成は読み込まれません。

    2. Pandora が上記のファイルを読み込んだ後、アプリケーションの web.xml ファイルが読み込まれると、Log4jConfigListener が実行され、アプリケーションのカスタム Log4j 構成が読み込まれます。これにより、アプリケーションの Log4j 構成が有効になります。