Часто во время разработки приложения необходимо пошагово смотреть на выполнение процессов, чтобы поймать ошибку или понять, как улучшить работу приложения. Рассмотрим способы отладки и логирования в AppMaster.
Отладка фронтенда
Для отладки фронтенда используются блоки Toast и Notification. Эти блоки показывают уведомления во фронтенде. Если вы не знаете, как отработал какой-либо блок, вы можете передать значения этого блока в Notification и увидеть во фронтенде, какие значения отдает отработавший блок.
Toast и Notification можно использовать в длинных БП, чтобы определить в каком месте что-то идет не так.
Блоки Toast и Notification принимают данные в формате String. Если нужно отобразить данные, хранящиеся в других форматах, можно использовать блоки toString или toJSON (в случае если нужно отобразить объект или массив объектов из БД).
Стандартное логирование
В каждом проекте AppMaster есть стандартное логирование. Оно находится на вкладке Project / Deploy Stats.
Если необходимо записать что-то дополнительно, в БП для бэкенда есть специальный блок Write to log.
У этого блока два входных поля:
Label – заголовок, который запишется в лог в формате string;
Input – любое значение, которое нужно сохранить в логе.
Создание логгера
Когда к приложению постоянно происходит большое количество обращений, записывать все в общий лог становится неудобно. В этом случае можно сделать собственный логгер по инструкции:
Создаем модель данных – Log. Добавляем в нее поля:
Label – для названия записи;
Text – для тела записи.
Теперь создадим БП на бэкенде, который при вызове будет сохранять нужные значения в лог.
Зададим поля для блока Start:
Label – в формате string;
Text – в формате string.
Теперь используем блок Make и создадим запись, передав в нее поля из блока Start.
Сохраним запись в БД с помощью блока Create.
Необходимо создать endpoint для нового БП, чтобы мы могли обращаться к нему с фронтенда. Для этого перейдем на вкладку Endpoints и создадим новый эндпоинт.
- Выберем метод POST;
- Зададим URL;
- Выберем группу;
- Установим созданный БП:
Теперь можно использовать созданный БП в тех местах, где нужно записывать логи.
Для примера возьмем страницу Task. На ней расположена таблица с записями о задачах пользователя. Также на этой странице есть форма для добавления записей. Подробнее про создание страницы смотрите тут и тут.
Попробуем залогировать процесс добавления записей. Откроем Workflow кнопки, которая добавляет записи.
Добавим БП после блока Server Request POST /task.
Соединим поля _error и text.
Поле label зададим по умолчанию.
Теперь при создании новой записи это событие логируется.