ProHoster > Blog > uprava > Praćenje pogrešaka sa Sentry u Front-End aplikacijama napisanim u JavaScriptu: 1. dio
Praćenje pogrešaka sa Sentry u Front-End aplikacijama napisanim u JavaScriptu: 1. dio
Usluga Dežurni omogućuje daljinsko praćenje grešaka u prednjim aplikacijama napisanim u JavaScript.
Pokušavam riješiti probleme u prednjim aplikacijama na JavaScript može biti nezgodno jer potječu iz preglednika korisnika, kojemu često nemate pristup. Međutim, Dežurni omogućuje daljinsko praćenje grešaka.
Ovdje Možete preuzeti rješenja o kojima se govori u ovom članku.
Što je potrebno
Ako želite koristiti ove primjere, trebat će vam:
Node.js: Razvojni alat bogat značajkama koji nije dio aplikacije. Preuzeli smo najnoviju LTS verziju (8.12.0)
Dežurni: Ili račun na usluzi Sentry (možete snimiti do 10 tisuća bugova mjesečno besplatno) ili instalirani lokalni Sentry - https://github.com/getsentry/onpremise
Instalacija na vašem poslužitelju
Da biste instalirali Sentry On-Premise na svoj poslužitelj, možete ići na 2 načina
Установить на сервер docker и docker-compose
git clone https://github.com/getsentry/onpremise.git
./install.sh
Standardna upotreba
Za početak dodajte novi s web stranice usluge Dežurni-projekt za prijavu. Nakon odabira željenog jezika, dobit ćete odgovarajuću dokumentaciju. U našem slučaju mi smo izabrali JavaScript.
Prvi primjer je standardni JavaScript. Ovdje postoje dva gumba: "Zdravo" (Zdravo) i "Pogreška" (Pogreška).
Nakon što kliknete gumb "Zdravo", zaslon će se ponovno pokrenuti i blokirati pokušati otkrit će i uhvatiti grešku. Nakon što je bug "uhvaćen", izvješće o pogrešci se ručno šalje servisu Dežurni.
Gumb "Pogreška" omogućuje vam jednostavno otkrivanje greške.
Sentry je instaliran s CDN-a i izložen je kao globalna varijabla
Nešto ranije pokrenuli smo Sentry u našem JavaScriptu
Za testiranje ovog primjera možemo koristiti statičnu platformu web poslužitelja Node.js: http poslužitelj. Idite u mapu u kojoj je pohranjena datoteka index.html, i unesite (opcija s onemogućavanjem predmemoriranja) sljedeći redak za otvaranje adrese u pregledniku http://localhost:8080.
Kako se prikazuju uhvaćene greške
Prvo kliknite gumb "Zdravo".
Uhvatili smo grešku, pa neće iskočiti na hrpu poziva i stoga se ne prati u konzoli. Međutim, budući da šaljemo na Dežurni prijavite bug ručno, vidjet ćemo poruku o tome na vašem računu.
Bilješke:
Možemo pratiti koji redak (24) sadrži grešku
Osim toga, trag puta prikazuje radnje preglednika koje su dovele do pogreške.
Kako se prikazuju neuhvaćene greške
Klikom na gumb "Pogreška".
Bug se diže u hrpu poziva i stoga se na konzoli prikazuje poruka o pogrešci. Nakon toga, Sentry automatski prati bug, bez ikakvih dodatnih radnji.
Bilješke:
Možemo vidjeti u kojem je retku (30) greška izgubljena
Ne postoji put kroz put (nije mi jasno zašto)
Kako osigurati sigurnost projekta
Možda ste primijetili način na koji kontroliramo koje stranice mogu prijaviti pogreške našem projektu Dežurni; uz pomoć DSN zapisa. Problem je u tome što unos može vidjeti svatko tko pogleda izvorni kod vaše stranice.
Kako bismo to izbjegli, moramo ograničiti broj domena koje mogu slati izvješća o pogreškama našem projektu. U ovom smo primjeru koristili localhost (lokalni domaćin). Ova je opcija konfigurirana u kartici postavki Dežurni-projekt, Postavka projekta Sentry.
Izdanja
Ako razmišljate o tome kako koristiti Dežurni u različitim varijantama naše aplikacije, tada trebamo neku vrstu mehanizma koji će označavati pogreške brojem verzije.
Uostalom, ne želimo da se greška koju smo popravili ponovno pojavi i mislimo da ono što smo popravili nije funkcioniralo. Također može biti da je korisnik pokrenuo stariju, predmemoriranu verziju aplikacije.
Da biste riješili problem, morate unijeti identifikator puštanje (verzije) pri pokretanju Dežurni.
Nakon toga, sve nove pogreške bit će označene kao izdanje (0.1.0), odnosno bit će vezani uz ispravnu verziju koda.
Bilješke:
Smislili smo jednostavan način korištenja izdanja
Sentry vam omogućuje da koristite više kompleks njihov korištenje, koji je usko povezan s GitHub. Ova funkcija omogućuje praćenje grešaka prije izvođenja određenih operacija.