META

Отладка и Логирование

Отладка асинхронных запросов

Раздел касается низкоуровневой отладки любых http-запросов на бекенд:

  • от refPvmData
  • от refPvmValidators
  • refPvmData + depends
  • и т.д. По сути везде, где данные передаются на бекенд или принимаются с него

Для этого рекомендуется использовать отладчик браузера, например Chrome, смотреть вкладку с запросами по сети и фильтровать данные по нужной вам странице.

Более поробное описание процесса с примерами в этом видео:

Логирование

Логирование доступно в meta/js скриптах. Чтобы начать логировать вам надо получить (заинжектить) инстанс логера через параметр вашей main функции. Для логирования используется slf4j тут можно посмотреть его интерфейсы http://www.slf4j.org/api/org/slf4j/Logger.html

На текущий момент известны некоторые проблемы с логированием:

  • Логов вообще нет: соединение с бекэндом по 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>

Из нюансов стоит выделить, что логи запросов к БД будут пренесены в фильтр дебаг-логов в браузере.