Apache NiFi - 日志记录



Apache NiFi 使用 logback 库处理其日志记录。NiFi 的 conf 目录中有一个名为 logback.xml 的文件,用于配置 NiFi 中的日志记录。日志生成在 NiFi 的 logs 文件夹中,日志文件如下所述。

nifi-app.log

这是 NiFi 的主要日志文件,它记录了 Apache NiFi 应用程序的所有活动,从 NAR 文件加载到 NiFi 组件遇到的运行时错误或公告。以下是 **logback.xml** 文件中 **nifi-app.log** 文件的默认 appender。

<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>

appender 名称是 APP_FILE,类是 RollingFileAppender,这意味着记录器使用回滚策略。默认情况下,最大文件大小为 100 MB,可以更改为所需大小。APP_FILE 的最大保留文件数为 30 个,可以根据用户需求更改。

nifi-user.log

此日志包含用户事件,例如 Web 安全性、Web API 配置、用户授权等。以下是 logback.xml 文件中 nifi-user.log 的 appender。

<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>

appender 名称是 USER_FILE。它遵循回滚策略。USER_FILE 的最大保留期为 30 个日志文件。以下是 nifi-user.log 中 USER_FILE appender 的默认记录器。

<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。

<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 文件的 appender 名称是 BOOTSTRAP_FILE,它也遵循回滚策略。BOOTSTRAP_FILE appender 的最大保留文件数为 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>
广告