ApacheNiFi-ロギング

Apache NiFiは、ログバックライブラリを使用してログを処理します。NiFiのconfディレクトリにlogback.xmlファイルがあります。これはNiFiでのログ記録を構成するために使用されます。ログはNiFiのlogsフォルダに生成され、ログファイルは以下のとおりです。

nifi-app.log

これはnifiのメインログファイルであり、NARファイルの読み込みから、NiFiコンポーネントで発生したランタイムエラーや通知に至るまで、apacheNiFiアプリケーションのすべてのアクティビティをログに記録します。以下はのデフォルトのアペンダーですlogback.xml のファイル nifi-app.log ファイル。

<appender name="APP_FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
   <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-app.log</file>
   <rollingPolicy
      class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <fileNamePattern>
         ${org.apache.nifi.bootstrap.config.log.dir}/
	      nifi-app_%d{yyyy-MM-dd_HH}.%i.log
      </fileNamePattern>
      <maxFileSize>100MB</maxFileSize>
      <maxHistory>30</maxHistory>
   </rollingPolicy>
   <immediateFlush>true</immediateFlush>
   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
   </encoder>
</appender>

アペンダー名はAPP_FILEで、クラスはRollingFileAppenderです。これは、ロガーがロールバックポリシーを使用していることを意味します。デフォルトでは、最大ファイルサイズは100 MBであり、必要なサイズに変更できます。APP_FILEの最大保持期間は30ログファイルであり、ユーザーの要件に応じて変更できます。

nifi-user.log

このログには、Webセキュリティ、Web API構成、ユーザー認証などのユーザーイベントが含まれます。以下は、logback.xmlファイルのnifi-user.logのアペンダーです。

<appender name="USER_FILE"
   class="ch.qos.logback.core.rolling.RollingFileAppender">
   <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-user.log</file>
   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>
         ${org.apache.nifi.bootstrap.config.log.dir}/
	      nifi-user_%d.log
      </fileNamePattern>
      <maxHistory>30</maxHistory>
   </rollingPolicy>
   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
   </encoder>
</appender>

アペンダー名はUSER_FILEです。ロールオーバーポリシーに従います。USER_FILEの最大保存期間は30ログファイルです。以下は、nifi-user.logにあるUSER_FILEアペンダーのデフォルトのロガーです。

<logger name="org.apache.nifi.web.security" level="INFO" additivity="false">
   <appender-ref ref="USER_FILE"/>
</logger>
<logger name="org.apache.nifi.web.api.config" level="INFO" additivity="false">
   <appender-ref ref="USER_FILE"/>
</logger>
<logger name="org.apache.nifi.authorization" level="INFO" additivity="false">
   <appender-ref ref="USER_FILE"/>
</logger>
<logger name="org.apache.nifi.cluster.authorization" level="INFO" additivity="false">
   <appender-ref ref="USER_FILE"/>
</logger>
<logger name="org.apache.nifi.web.filter.RequestLogger" level="INFO" additivity="false">
   <appender-ref ref="USER_FILE"/>
</logger>

nifi-bootstrap.log

このログには、ブートストラップログ、apache NiFiの標準出力(主にデバッグ用にコードに記述されたすべてのsystem.out)、および標準エラー(コードに記述されたすべてのsystem.err)が含まれます。以下は、logback.logのnifi-bootstrap.logのデフォルトのアペンダーです。

<appender name="BOOTSTRAP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
   <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-bootstrap.log</file>
   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>
         ${org.apache.nifi.bootstrap.config.log.dir}/nifi-bootstrap_%d.log
      </fileNamePattern>
      <maxHistory>5</maxHistory>
   </rollingPolicy>
   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
   </encoder>
</appender>

nifi-bootstrap.logファイルのアペンダー名はBOOTSTRAP_FILEで、これもロールバックポリシーに従います。BOOTSTRAP_FILEアペンダーの最大保持は5ログファイルです。以下は、nifi-bootstrap.logファイルのデフォルトのロガーです。

<logger name="org.apache.nifi.bootstrap" level="INFO" additivity="false">
   <appender-ref ref="BOOTSTRAP_FILE" />
</logger>
<logger name="org.apache.nifi.bootstrap.Command" level="INFO" additivity="false">
   <appender-ref ref="CONSOLE" />
   <appender-ref ref="BOOTSTRAP_FILE" />
</logger>
<logger name="org.apache.nifi.StdOut" level="INFO" additivity="false">
   <appender-ref ref="BOOTSTRAP_FILE" />
</logger>
<logger name="org.apache.nifi.StdErr" level="ERROR" additivity="false">
   <appender-ref ref="BOOTSTRAP_FILE" />
</logger>