Kuongorora Zvikanganiso neSentry muFront-End Zvishandiso Zvakanyorwa muJavaScript: Chikamu 1

sevhisi musoja inokutendera kuti utarise kure kure tsikidzi pamberi-yekupedzisira maapplication akanyorwa mukati JavaScript.

Kuongorora Zvikanganiso neSentry muFront-End Zvishandiso Zvakanyorwa muJavaScript: Chikamu 1

Kuedza kugadzirisa matambudziko pamberi-yekupedzisira maapplication pa JavaScript inogona kuve inonyengerera nekuti inotangira mubrowser yemushandisi, yaunowanzo shaya mukana. Zvisinei, musoja inoita kuti zvikwanise kutarisa kure kure.

zviri Unogona kudhawunirodha mhinduro dzinokurukurwa munyaya ino.

Chii chinodiwa

Kana iwe uchida kushandisa iyi mienzaniso, iwe uchada:

  • Node.js: Chinhu-chakapfuma chekuvandudza chishandiso icho chisiri chikamu chekushandisa. Isu takadhawunirodha yazvino LTS vhezheni (8.12.0)
  • musoja: Ingave Akaunti muSentry sevhisi (unogona kurekodha kusvika zviuru gumi bugs pamwedzi mahara) kana yakamisikidzwa yemuno Sentry - https://github.com/getsentry/onpremise

Kuiswa pane yako server

Kuisa Sentry On-Premise pane yako server unogona kuenda nenzira mbiri

  1. Vaka rpm uye uvaise - https://habr.com/ru/post/500632/

  2. Shandisa official installer:

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

Standard Use

Kuti utange, wedzera imwe nyowani kubva pawebhusaiti yebasa musoja-purojekiti yekushandisa. Mushure mekusarudza mutauro waunoda, iwe uchagamuchira magwaro anoenderana. Muchiitiko chedu takasarudza JavaScript.

Muenzaniso wekutanga ndiwo mwero JavaScript. Pane mabhatani maviri pano: "Mhoro" (Mhoro) uye "Kukanganisa" (Error).

Mushure mekudzvanya bhatani "Mhoro", iyo skrini ichatangazve uye block edza ichaona uye kubata bug. Mushure mekunge bug "yabatwa", mushumo wekukanganisa unotumirwa nemaoko kubasa musoja.

Bhatani re "Kukanganisa" rinokutendera kuti uone nyore bug.

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>

Notes:

  • Sentry inoiswa kubva kuCDN uye yakafumurwa seyakasiyana yepasirese
  • Nguva pfupi yapfuura takatanga Sentry muJavaScript yedu

Kuedza uyu muenzaniso, tinogona kushandisa static web server chikuva Node.js: http server. Enda kune folda iyo faira inochengetwa index.html, uye isa (sarudzo ine disables caching) mutsara unotevera kuvhura kero mubrowser http://localhost:8080.

Mabatirwo anoitwa tsikidzi

Tanga wabaya bhatani "Mhoro".

Kuongorora Zvikanganiso neSentry muFront-End Zvishandiso Zvakanyorwa muJavaScript: Chikamu 1

Isu takabata bug, saka haizobudise iyo yekufona stack, uye nekudaro haina kutariswa mukoni. Nekudaro, sezvo isu tinotumira ku musoja taura tsikidzi nemaoko, isu tichaona meseji nezvayo muakaundi yako.

Kuongorora Zvikanganiso neSentry muFront-End Zvishandiso Zvakanyorwa muJavaScript: Chikamu 1

Notes:

  • Tinogona kutsvaga kuti ndeupi mutsara (24) une bug
  • Uye zvakare, iyo breadcrumb trail inoratidza zviito zvebrowser zvakakonzera kukanganisa.

Mabudiro asina kubatwa anoratidzwa

Baya bhatani "Kukanganisa".

Kuongorora Zvikanganiso neSentry muFront-End Zvishandiso Zvakanyorwa muJavaScript: Chikamu 1

Iyo bug inoputira iyo yekufona stack uye nekudaro meseji yekukanganisa inoratidzwa pane iyo console. Mushure meizvi, Sentry inotarisisa otomatiki iyo bug, pasina zvimwe zviito.

Kuongorora Zvikanganiso neSentry muFront-End Zvishandiso Zvakanyorwa muJavaScript: Chikamu 1

Notes:

  • Tinogona kuona mutsetse (30) iyo bug yakarasika
  • Iko hakuna breadcrumb trail (ini handisi kunyatsonzwisisa kuti sei)

Nzira yekuita sei kuchengetedzwa kweprojekiti

Unogona kunge waona nzira yatinodzora kuti ndeapi mapeji anogona kutaura kukanganisa kupurojekiti yedu musoja; nerubatsiro dsn zvinyorwa. Dambudziko nderekuti iyo yekuisa inogona kuvonekwa nemunhu wese anoona iyo source code yepeji rako.

Kuti tidzivise izvi, isu tinofanirwa kudzikamisa huwandu hwemadomasi anogona kuendesa kukanganisa mishumo kupurojekiti yedu. Mumuenzaniso uyu takashandisa localhost (mugadziri wenzvimbo). Iyi sarudzo inogadziriswa mumasetting tab musoja- chirongwa, Sentry Project Setting.

Kuongorora Zvikanganiso neSentry muFront-End Zvishandiso Zvakanyorwa muJavaScript: Chikamu 1

Zvaburitswa

Kana iwe uchifunga nezve nzira yekushandisa musoja mukusiyana kwakasiyana kwekushandisa kwedu, saka tinoda imwe mhando yemeshini inozomaka zvikanganiso nenhamba yeshanduro.

Mushure mezvose, hatidi kuti bug yatakagadzirisa ibude zvakare, uye tinofunga kuti zvatakagadzirisa hazvina kushanda. Zvingave zvakare kuti mushandisi akatangisa yekare, yakavharirwa vhezheni yechishandiso.

Kuti ugadzirise dambudziko, unofanirwa kuisa iyo identifier kusunungurwa (shanduro) pakutanga musoja.

vanilla/index.html

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

Mushure meizvi, zvikanganiso zvese zvitsva zvichamakwa se kuburitsa (0.1.0), ndiko kuti, ivo vachasungirirwa kune yakarurama shanduro yekodhi.

Kuongorora Zvikanganiso neSentry muFront-End Zvishandiso Zvakanyorwa muJavaScript: Chikamu 1

Notes:

  • Isu takafunga nzira yakapusa yekushandisa zvinyorwa
  • Sentry inobvumidza iwe kushandisa zvakawanda yakaoma dzavo kushandiswa, iyo yakabatana zvikuru ne GitHub. Iri basa rinoita kuti zvikwanise kuronda tsikidzi usati waita mamwe mabasa.

PS Chikamu chechipiri chakareba, saka chichava mune imwe nzvimbo yakasiyana.

PS Telegraph chat Sentry https://t.me/sentry_ru

PS Ndakanganwa kuratidza kuti iyi ishanduro yepositi https://codeburst.io/sentry-error-reporting-by-example-part-1-999b2df11556

Source: www.habr.com

Voeg