Вводный курс
10 модулей
5 недели

Логи

Скопировать

Использование логов для поиска ошибок в приложении


В процессе разработки часто возникают ситуации, когда реальный результат работы приложения не совпадает с ожидаемым. Даже для простых бизнес-процессов с небольшим числом блоков определение ошибок может представлять сложности, а для больших проектов использование дополнительных средств диагностики проблем становится обязательным. 

В данном модуле мы будем разбираться с отладкой приложений, то есть тем этапом разработки, на котором обнаруживают, локализуют и устраняют ошибки.

Самым базовым инструментом для поиска ошибок является использование лога, то есть формирование определенных записей в специальном журнале для дальнейшего анализа. Давайте разберем это на примере бизнес-процесса "Basic functions", который был создан в четвертом модуле.

Смысл работы бизнес-процесса заключался в получении двух чисел для выполнения определенных математических операций с ними. Предположим, что нам хотелось бы кое-что проверить по ходу выполнения процесса, а не ориентироваться только на финальный результат (или его отсутствие).

Используем лог, чтобы убедиться в том, что:

  • Бизнес-процесс действительно стартовал
  • Блок округления (Round) получает правильное значение на вход
  • Количество элементов массива перед завершением БП соответствует нашим ожиданиям (5)

Блок Write to Log

Для этого немного изменим сам бизнес-процесс и добавим в него блоки Write to Log, которые, как следует из названия, и будут выполнять запись в лог.

Первый блок Write to Log используем на самом старте бизнес-процесса. На вход он может принимать два параметра: Label (для заголовка записи) и Input (непосредственно сама запись). В данном случае мы фиксируем сам факт запуска бизнес-процесса, поэтому нет необходимости в передаче параметров из какого-то отдельного источника, достаточно указать текст подтверждения. Поэтому пропишем текст “Basic functions BP start” в качестве Input.

Следующую запись в лог выполним перед блоком Round. И в данном случае запись уже не будет фиксированной. Input будет получать значение с результатом деления, над которым в дальнейшем должна быть произведена операция округления. Удобен тот факт, что Write to Log может принимать в качестве Input значения любого типа (в данном случае это будет Float) и нет необходимости выполнять преобразование в String для записи.

В конце необходимо записать количество элементов в массиве. Но чтобы сделать это, необходимо данное количество выяснить, ведь у нас есть сам массив, а не его размер. Поэтому помимо Write to Log дополнительно воспользуемся блоком Array Size.

Логи бэкенда

После этого можно опубликовать приложение, запустить бизнес-процесс и посмотреть результат. Для этого нужно перейти на вкладку CI/CD, в раздел Application Logs.

Запись bp_log в столбце Source означает, что данная запись была сделана именно в результате работы блока Write to Log. Мы можем убедиться, что бизнес-процесс работает корректно и логи действительно записываются. Более того, здесь можно увидеть и различные системные логи, например, о том, что результат работы эндпойнта получен успешно (Status: 200), с какого IP-адреса был произведен запуск и какие параметры использовались.

Логи фронтенда

Блок с аналогичным названием (Write to Log) можно увидеть и при создании бизнес-процессов фронтенда. Воспользуемся им в БП для поля ввода значения Y. Запишем информацию о том, какое значение было введено (Input: Value = ) и в каком компоненте (Label: Y log:).

При этом в данном случае блок будет работать исключительно на фронтенде. Не будет отправлено никаких запросов на сервер, соответственно и в серверных логах никаких результатов работы данного блока не появится. Возникает логичный вопрос - где же тогда их искать?

Для этого необходимо открыть Инструменты Разработчика (Developer Tools) в браузере. Способ запуска и само название могут немного отличаться в зависимости от того, какой браузер используется, но главное, что любой современный браузер поддерживает данную возможность, и общий принцип работы совпадает.

В нашем примере будет использоваться браузер Google Chrome. Для включения инструментов разработчика можно воспользоваться соответствующим пунктом меню в настройках (More tools -> Developer tools), сочетанием клавиш Ctrl+Shift+I или простым нажатием F12. Здесь доступно множество различных возможностей, таких как просмотр HTML-кода веб-страницы, отслеживание сетевых запросов и многое другое. Но в данный момент нас интересует раздел Console. Он позволяет отслеживать результат работы JavaScript, диагностировать ошибки работы фронтенда и именно в консоли можно увидеть лог, записанный блоком Write to Log.

Ввели цифру “4” в поле ввода Y и убедились в том, что Write to Log сработал, как и планировалось. В консоли появилась запись “Y log: Value = 4”.

Was this article helpful?
Все еще ищете ответ?
Cообщество