waves_logo Docs
  • Руководство владельца ноды
    Руководство владельца ноды
  • Установить ноду Waves
    • Развернуть ноду в Docker
      Развернуть ноду в Docker
    • Установить ноду на Ubuntu
      Установить ноду на Ubuntu
    • Установить ноду на macOS
      Установить ноду на macOS
    • Установить ноду на Windows
      Установить ноду на Windows
    • Установить из исходников (сборка SBT)
      Установить из исходников (сборка SBT)
    Установить ноду Waves
  • Синхронизировать блокчейн Waves
    • Импортировать и экспортировать блокчейн
      Импортировать и экспортировать блокчейн
    • Загрузить актуальный блокчейн
      Загрузить актуальный блокчейн
    • Откатить ноду
      Откатить ноду
    Синхронизировать блокчейн Waves
  • Генерировать блоки
    Генерировать блоки
  • Обновить ноду
    Обновить ноду
  • Конфигурация ноды
    Конфигурация ноды
  • Логирование
    Логирование
  • Кошелек ноды
    Кошелек ноды
  • Фичи
    • Протокол активации
      Протокол активации
    Фичи
  • Собственный блокчейн
    Собственный блокчейн
  • REST API ноды
    • API-ключ
      API-ключ
    • Работа с транзакциями
      Работа с транзакциями
    • Формат числовых полей
      Формат числовых полей
    • Постраничная выборка
      Постраничная выборка
    • CORS
      CORS
    • Ограничения пула публичных нод
      Ограничения пула публичных нод
    • Медленные запросы
      Медленные запросы
    • Коды ответов и ошибки
      Коды ответов и ошибки
    REST API ноды
  • Расширения
    • gRPC Server
      gRPC Server
    • Blockchain Updates
      Blockchain Updates
    Расширения
  • Устранение неполадок
    • Генерация блока FAQ
      Генерация блока FAQ
    Устранение неполадок
  • Нода на языке Go
    Нода на языке Go
      • English
      • Русский
      On this page
        • Уровни логирования
        • О платформе
        • Изменить настройки логирования в файле logback.xml
        • Активировать UTX-трейсы
        • Изменить расположение лог-файла
        • Задать уровень логирования для STDOUT
        • Включить логирование в формате JSON
      waves_logo Docs

          # Логирование

          # Уровни логирования

          1. OFF — логирование в файл или STDOUT выключено.
          2. ERROR — серьезные ошибки. Необходимо изучить эти сообщения.
          3. WARN — предупреждения. Нода может продолжать работу, но рекомендуется обратить внимание на какую-то проблему.
          4. INFO — важные сообщения. Система работает нормально.
          5. DEBUG - информация для отладки.
          6. TRACE - информация для отладки, когда уровня DEBUG недостаточно (редкие случаи).

          Низкие уровни логирования включают в себя более высокие. Например, DEBUG включает все более высокие уровни: INFO, WARN и ERROR.

          # О платформе

          Ноды Waves используют для логирования платформу logback . Нода поставляется с настройками логирования . См. стандартный файл logback.xml в качестве примера.

          По умолчанию все логи пишутся в читаемом формате:

          • В STDOUT с уровнем INFO.
          • В файл /var/log/waves/waves.log для Mainnet нод, установленных из DEB-пакета (/var/log/waves-testnet/waves.log и /var/log/waves-stagenet/waves.log для Testnet и Stagenet), или ${waves.directory}/logs/waves.log для других нод. До версии ноды 1.1.6 уровень логирования по умолчанию был TRACE. После выхода версии 1.1.6 уровень по умолчанию стал DEBUG: это означает, что UTX-трейсы не включены, что позволяет уменьшить объем логов, производимых нодой при высокой нагрузке. Можно включить запись UTX-трейсов в отдельный файл. Кроме ежедневной ротации, предусмотрена ротация waves.log по размеру файла, когда размер файла достигает заданного значения (по умолчанию 100 Мбайт).

          Для логирования предусмотрены следующие ограничения:

          • Логи старше 30 дней удаляются.
          • Если суммарный размер логов станет больше 1 Гбайт, самые старые логи будут удаляться в соответствии с лимитом.

          Можно изменить следующие настройки логирования:

          • активировать UTX-трейсы;
          • изменить расположение лог-файла;
          • изменить уровень логирования в STDOUT;
          • активировать логирование в формате JSON.

          За исключением активации логирования в формате JSON, измененить параметры логирования можно следующими способами:

          • Добавление параметров в файл application.ini.
          • Добавление параметров в файл logback.xml. Чтобы изменить настройки ноды в logback.xml, создайте свой собственный logback.xml в папке /etc/waves/. Подробнее в подразделе Изменить настройки логирования в файле logback.xml.
          • Выполнения команд в командной строке.

          Логирование в формате JSON может быть активировано только в файле logback.xml.

          Не нужно перезапускать ноду после изменения настроек логирования, так как изменения применяются автоматически каждые 30 секунд.

          Уровни логирования описаны в подразделе Уровни логирования.

          # Изменить настройки логирования в файле logback.xml

          Для изменения настроек логирования ноды в файле logback.xml:

          1. Создайте свой файл /etc/waves/logback.xml.
          2. Добавьте в файл параметры в тегах included.

          Следующий пример кода можно использовать для включения уровня логирования TRACE:

          <included>
              <property name="logback.file.level" value="TRACE"/>
          </included>
          

          Примечание. Не нужно перезапускать ноду после изменения настроек логирования, так как изменения применяются автоматически каждые 30 секунд.

          # Активировать UTX-трейсы

          Если UTX-трейсы активированы, то выходные данные будут записаны в файл /var/log/utx-trace.log.

          Если нода была установлена из DEB-пакета, используйте файл application.ini или logback.xml.

          Если нода была запущена из JAR-файла, используйте опцию Java.

          # Активировать в application.ini

          В файле application.ini добавьте:

          -J-Dlogback.utx-trace.enabled=true
          

          # Активировать в logback.xml

          В файле logback.xml добавьте:

          <included>
              <property name="logback.utx-trace.enabled" value="true" />
          </included>
          

          # Активировать через командную строку

          Используйте опцию Java:

          java -Dlogback.utx-trace.enabled=true -jar /path/to/waves-all.jar /path/to/config`
          

          # Изменить расположение лог-файла

          По умолчанию лог-файл расположен в папке: /var/log.

          Если нода была установлена из DEB-пакета, используйте файл application.ini или logback.xml.

          Если нода была установлена из JAR-файла, используйте опцию Java.

          # Изменить в application.ini

          В файле application.ini добавьте:

          -J-Dlogback.file.directory=/path/to/directory/for/logs
          

          # Изменить в logback.xml

          В файле logback.xml добавьте:

          <included>
              <property name="logback.file.final-directory" value="/path/to/directory/for/logs" />
          </included>
          

          # Изменить через командную строку

          Используйте опцию Java:

          java -Dlogback.file.directory=/path/to/directory/for/logs -jar /path/to/waves-all.jar /path/to/config`
          

          # Задать уровень логирования для STDOUT

          По умолчанию уровень логирования в STDOUT — INFO.

          Если нода была установлена из DEB-пакета, используйте файл application.ini или logback.xml.

          Если нода была установлена из JAR-файла, используйте опцию Java.

          Уровни логирования описаны в подразделе Уровни логирования.

          # Изменить в application.ini

          В файле application.ini добавьте:

          -J-Dlogback.file.directory=/path/to/directory/for/logs
          

          # Изменить в logback.xml

          В файле logback.xml добавьте:

          <included>
              <property name="logback.file.directory=/path/to/directory/for/logs" value="true" />
          </included>
          

          # Изменить через командную строку

          Используйте опцию Java:

          java -Dlogback.file.directory=/path/to/directory/for/logs -jar /path/to/waves-all.jar /path/to/config
          

          # Включить логирование в формате JSON

          Если вы используете инструменты для анализа JSON, вам нужно включить вывод логов в формате JSON.

          В файле logback.xml добавьте:

          <included>
              <property name="logback.file.enabled" value="false"/>
                  <appender name="JSON" class="ch.qos.logback.core.rolling.RollingFileAppender">
                      <file>${logback.file.final-directory}/waves-elk.json</file>
                      <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                      <!-- daily rollover -->
                          <fileNamePattern>${logback.file.final-directory}/waves-elk.json.%d{yyyy-MM-dd, UTC}.%i.gz</fileNamePattern>
                          <maxFileSize>1GB</maxFileSize>
                          <maxHistory>3</maxHistory>
                          <totalSizeCap>2GB</totalSizeCap>
                      </rollingPolicy>
                      <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
                          <providers>
                              <timestamp>
                                  <pattern>yyyy-MM-dd'T'HH:mm:ss.SSS</pattern>
                                  <timeZone>UTC</timeZone>
                              </timestamp>
                              <version/>
                              <message/>
                              <loggerName/>
                              <threadName/>
                              <logLevel/>
                              <logLevelValue/>
                              <stackTrace/>
                              <stackHash/>
                          </providers>
                      </encoder>
                  </appender>
              <root>
                  <appender-ref ref="JSON"/>
              </root>
          </included>
          
          Конфигурация ноды
          Кошелек ноды
          Конфигурация ноды
          Кошелек ноды