Логирование js-ошибок в piwik (аналог google analytics)

Piwik — аналог google analytics, который ставится на свой домен. Копирует апи google analytics, так что всё описанное можно с небольшими изменениями применить и при использовании google analytics.

Логирование

Ошибки записываются и в пивик, и в html-элемент на странице (удобно для автоматического тестирования). Код содержится в файле error_logger.js:

Здесь, помимо объявления глобальной функции для логирования, есть ещё два важных момента:
window.onerror логирует все неперехваченные js-ошибки;
window.onload проверяет установку глобальной переменной window.__angularLoaded, которая ставится внутри AngularJS-приложения, и в случае необходимости логирует факт незапустившегося приложения.

Использование внутри AngularJS

Осталось научиться записывать ошибки внутри AngularJS-приложения. В этом нам поможет Бен Надель — http://www.bennadel.com/blog/2542-logging-client-side-errors-with-angularjs-and-stacktrace-js.htm.
В итоге сервис логирования выглядит так:

Как при этом выглядит index.html

Пояснения

Нужно заменить <domain> на свой домен, а <piwik_host> — на урл до сервера с пивиком.
Сюда пишутся ошибки для удобства автоматического тестирования:

Здесь подгружаются конфиги для разрешения логирования в пивик и указания id элемента для записи ошибок:

Например:

Ещё можно логировать время загрузки страницы пользователями

https://blog.bullgare.com/2015/05/%D0%BB%D0%BE%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8/

Альтернативы

Ещё одно описание системы логирования js-ошибок в google analytics — http://blog.gospodarets.com/track_javascript_angularjs_and_jquery_errors_with_google_analytics/

LEAVE A COMMENT