Отладка и логирование
Отладка асинхронных запросов
Раздел касается низкоуровневой отладки любых http-запросов на бекенд:
- от refPvmData
- от refPvmValidators
- refPvmData + depends
- и т.д. По сути везде, где данные передаются на бекенд или принимаются с него
Для этого рекомендуется использовать отладчик браузера, например Chrome, смотреть вкладку с запросами по сети и фильтровать данные по нужной вам странице.
Более поробное описание процесса с примерами в этом видео:
{{< youtube xRwfIiyXiDI >}}
Логирование
Логирование доступно в meta/js скриптах. Чтобы начать логировать вам надо получить (заинжектить) инстанс логера через параметр вашей main функции. Для логирования используется slf4j тут можно посмотреть его интерфейсы http://www.slf4j.org/api/org/slf4j/Logger.html (opens in a new tab)
На текущий момент известны некоторые проблемы с логированием:
- Логов вообще нет: соединение с бекэндом по websocket-ам было потеряно и не смогло восстановится. F5 скорее всего решит проблему
- Нет конкретного лога: Не все объекты, прикладываемые в качестве интерполируего аргумента лога могут быть приведены к строке и из-за этого весь лог может пропадать. Попробуйте в этом месте исключить аргументы и посмотреть что будет.
А вот примеры вызова
<script type="meta/js" id="my_src" >
function main(log) {
log.info('test info');
log.warn('test warning');
log.error('test error');
var myvar = {a:1};
log.info('lalala {}', myvar);
}
</script>
Из нюансов стоит выделить, что логи запросов к БД будут пренесены в фильтр дебаг-логов в браузере.