Учебники

Apache NiFi — логирование

Apache NiFi использует библиотеку logback для обработки своей регистрации. В каталоге conf NiFi есть файл logback.xml, который используется для настройки регистрации в NiFi. Журналы создаются в папке журналов NiFi, а файлы журналов описаны ниже.

Nifi-app.log

Это основной файл журнала nifi, в котором регистрируются все действия приложения apache NiFi, начиная с загрузки файлов NAR и заканчивая ошибками во время выполнения или сообщениями, встречающимися компонентами NiFi. Ниже приведен стандартный appender в файле 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 МБ и может быть изменен до необходимого размера. Максимальное время хранения APP_FILE составляет 30 файлов журнала и может быть изменено в соответствии с требованиями пользователя.

Nifi-user.log

Этот журнал содержит пользовательские события, такие как веб-безопасность, конфигурация веб-API, авторизация пользователя и т. Д. Ниже приведен пример добавления файла nifi-user.log в файл logback.xml.

<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 файлов журнала. Ниже приведены стандартные регистраторы для приложения USER_FILE, присутствующего в nifi-user.log.

<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 написаны в коде). Ниже по умолчанию добавлен nifi-bootstrap.log в logback.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.