ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry Π²ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript: Π§Π°ΡΡ‚ΡŒ 1

БСрвис Sentry позволяСт ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π±Π°Π³ΠΈ Π² Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry Π²ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript: Π§Π°ΡΡ‚ΡŒ 1

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях Π½Π° JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСпростой Π·Π°Π΄Π°Ρ‡ΠΊΠΎΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊ Ρ‡Π΅ΠΌΡƒ, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ, Ρƒ вас Π½Π΅Ρ‚ доступа. Однако, Sentry Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π±Π°Π³ΠΈ.

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π§Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, Ρ‚ΠΎ Π²Π°ΠΌ понадобятся:

  • Node.js: ΠœΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ прилоТСния. ΠœΡ‹ скачивали послСднюю LTS-Π²Π΅Ρ€ΡΠΈΡŽ (8.12.0)
  • Sentry: Π›ΠΈΠ±ΠΎ Аккаунт Π² сСрвисС Sentry (ΠΌΠΎΠΆΠ½ΠΎ бСсплатно Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎ 10 тыс. Π±Π°Π³ΠΎΠ² Π² мСсяц) Π»ΠΈΠ±ΠΎ установлСнный Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Sentry β€” https://github.com/getsentry/onpremise

Установка Π½Π° ваш сСрвСр

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Sentry On-Premise Π½Π° ваши сСрвСр ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ 2 путями

  1. Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ rpm ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… β€” https://habr.com/ru/post/500632/

  2. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ установщиком:

    Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° сСрвСр docker ΠΈ docker-compose
    git clone https://github.com/getsentry/onpremise.git
    ./install.sh

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ использованиС

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ с сайта сСрвиса Π½ΠΎΠ²Ρ‹ΠΉ Sentry-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для прилоТСния. ПослС Π²Ρ‹Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ языка Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Π’ нашСм случаС ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ JavaScript.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” стандартный JavaScript. Π—Π΄Π΅ΡΡŒ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ: Β«HelloΒ» (ΠŸΡ€ΠΈΠ²Π΅Ρ‚) ΠΈ Β«ErrorΒ» (Ошибка).

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«HelloΒ», экран пСрСзагрузится, Π° Π±Π»ΠΎΠΊ try ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ ΠΈ ΠΏΠΎΠΉΠΌΠ°Π΅Ρ‚ Π±Π°Π³. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±Π°Π³ Β«ΠΏΠΎΠΉΠΌΠ°Π½Β», ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎΠ± ошибкС Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ пСрСсылаСтся Π½Π° сСрвис Sentry.

Кнопка Β«ErrorΒ» позволяСт просто ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π±Π°Π³.

vanilla / index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vanilla</title>
</head>
<body>
  <button id="hello">Hello</button>
  <button id="error">Error</button>
  <div id="output"></div>
  <script src="https://browser.sentry-cdn.com/4.0.5/bundle.min.js" crossorigin="anonymous"></script>
  <script>
    (function () {
      'use strict';
      Sentry.init({ dsn: 'https://[email protected]/1289664' });
      var helloEl = document.getElementById('hello');
      var errorEl = document.getElementById('error');
      var outputEl = document.getElementById('output');
      helloEl.addEventListener('click', handleHelloClick);
      errorEl.addEventListener('click', handleErrorClick);
      function handleHelloClick() {
        outputEl.innerHTML = 'Hello World';
        try {
          throw new Error('Caught');
        } catch (err) {
          Sentry.captureException(err);
        }
      }
      function handleErrorClick() {
        throw new Error('Uncaught');
      }
    })();
  </script>
</body>
</html>

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:

  • Sentry устанавливаСтся ΠΈΠ· CDN ΠΈ отобраТаСтся ΠΊΠ°ΠΊ глобальная пСрСмСнная
  • Π§ΡƒΡ‚ΡŒ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΌΡ‹ запустили Sentry Π² нашСм JavaScript-Π΅

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ статичСской Π²Π΅Π±-сСрвСрной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Node.js: http-сСрвСром. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ хранится Ρ„Π°ΠΉΠ» index.html, ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ (опция с ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) ΡΠ»Π΅Π΄ΡƒΡ‰ΡƒΡŽ строку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ адрСс http://localhost:8080.

Как ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΠΉΠΌΠ°Π½Π½Ρ‹Π΅ Π±Π°Π³ΠΈ

Π‘ΠΏΠ΅Ρ€Π²Π° ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«HelloΒ».

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry Π²ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript: Π§Π°ΡΡ‚ΡŒ 1

ΠœΡ‹ словили Π±Π°Π³, поэтому ΠΎΠ½ Π½Π΅ всплывСт Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ стСку Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², поэтому ΠΈ Π½Π΅ мониторится Π² консоли. Однако, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ отсылаСм Π² Sentry ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ Π±Π°Π³Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ сообщСниС ΠΎ Π½Π΅ΠΌ Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry Π²ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript: Π§Π°ΡΡ‚ΡŒ 1

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:

  • МоТСм ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΉ строчкС (24) затСсался Π±Π°Π³
  • К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, навигационная Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ дСйствия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ ошибкС.

Как ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π΅ΠΏΠΎΠΉΠΌΠ°Π½Π½Ρ‹Π΅ Π±Π°Π³ΠΈ

КликаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ErrorΒ».

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry Π²ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript: Π§Π°ΡΡ‚ΡŒ 1

Π‘Π°Π³ всплываСт Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ стСку Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° консолС отобраТаСтся сообщСниС ΠΎΠ± ошибкС. ПослС этого Sentry автоматичСски ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ Π±Π°Π³, Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry Π²ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript: Π§Π°ΡΡ‚ΡŒ 1

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:

  • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΉ строчкС (30) затСрялся Π±Π°Π³
  • НС прСдустмотрСна навигационная Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° (Π½Π΅ совсСм понимаю, ΠΏΠΎΡ‡Π΅ΠΌΡƒ)

Как ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π’Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° способ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌ страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Sentry; ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ dsn записи. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ, ΠΊΡ‚ΠΎ просмотрит исходный ΠΊΠΎΠ΄ вашСй страницы.

Π§Ρ‚ΠΎΠ±Ρ‹ этого Π½Π΅ Π±Ρ‹Π»ΠΎ, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ количСство Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΎΡΠΈΡ‚ΡŒ Π² наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали localhost (Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ хост). Данная опция настраиваСтся Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ настроСк Sentry-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Sentry Project Setting.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry Π²ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript: Π§Π°ΡΡ‚ΡŒ 1

Π Π΅Π»ΠΈΠ·Ρ‹

Если ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sentry Π² Ρ€Π°Π·Π½Ρ‹Ρ… вариациях нашСго прилоТСния, Ρ‚ΠΎ здСсь Π½ΡƒΠΆΠ΅Π½ Π½Π΅ΠΊΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ ошибки Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ вСрсии.

НС Π½ΡƒΠΆΠ½ΠΎ вСдь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ исправлСнный Π½Π°ΠΌΠΈ Π±Π°Π³ Π²Ρ‹ΠΏΠ»Ρ‹Π» ΠΎΠΏΡΡ‚ΡŒ, Π° ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ сработало Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ пофиксили. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСдь ΠΈ Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запустил Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡƒΡŽ, ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€Π΅Π»ΠΈΠ·Π° (вСрсии) ΠΏΡ€ΠΈ запускС Sentry.

vanilla / index.html

...
var RELEASE = '0.1.0';
Sentry.init({
  dsn: 'https://[email protected]/1289664',
  release: RELEASE,
});
...

ПослС этого всС Π½ΠΎΠ²Ρ‹Π΅ ошибки Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ release (0.1.0), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ привязаны ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии ΠΊΠΎΠ΄Π°.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sentry Π²ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-прилоТСниях, написанных Π½Π° JavaScript: Π§Π°ΡΡ‚ΡŒ 1

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:

  • ΠœΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ простой способ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·Ρ‹
  • Sentry позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТноС ΠΈΡ… использованиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ тСсно связано с GitHub. Вакая функция Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±Π°Π³ΠΈ Π΄ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

P.S. Вторая Ρ‡Π°ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ длинная, поэтому ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ постС.

P.S Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ Ρ‡Π°Ρ‚ Sentry https://t.me/sentry_ru

P.S. Π—Π°Π±Ρ‹Π» ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ это ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ поста https://codeburst.io/sentry-error-reporting-by-example-part-1-999b2df11556

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com