DXPのAuditログをファイルへ出力する方法

DXPのAuditログをファイルへ出力する方法

詳細

留意点

  • この設定はDXP 7.0 Fix Pack 12以上で有効です

要件例

  • Auditログを、データベーステーブルではなくログファイルとして出力する
  • 一日おきにログローテーションする

設定手順

  1. コントロールパネル>設定>システム設定>基本設定>Logging Message Audit Message Processor」へ移動
  2. 「Enabled」にチェックを入れ、任意の「Log message format(CSV / JSON)」を選択し、更新
  3. アプリケーションサーバーを停止
  4. $TOMCAT_HOME/webapps/ROOT/WEB-INF/classes/META-INF/」ディレクトリ内に、
    以下の内容で「portal-log4j-ext.xml」という名前のファイルを作成
    <?xml version="1.0"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    
      <!-- additional audit logging -->
      <appender class="org.apache.log4j.rolling.RollingFileAppender" name="AUDIT_FILE">
        <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
          <param name="FileNamePattern" value="@liferay.home@/logs/audit.%d{yyyy-MM-dd}.log" />
        </rollingPolicy>
        <layout class="org.apache.log4j.EnhancedPatternLayout">
          <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}:%L] %m%n" />
        </layout>
      </appender>
    
      <category name="com.liferay.portal.security.audit.router.internal.LoggingAuditMessageProcessor">
        <priority value="INFO" />
        <appender-ref ref="AUDIT_FILE"/>
      </category>
    
    </log4j:configuration>
  5. アプリケーションサーバーを起動
  6. ログイン等の操作を実施
  7. liferay_home/logs/」内に、「audit.yyyy-mm-dd.log」のような名前のログファイルが作成されることを確認
この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています