{"id":86853,"date":"2020-06-30T19:41:57","date_gmt":"2020-06-30T17:41:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/monitoring-oshibok-s-pomoshhyu-sentry-vo-frontend-prilozheniyah-napisannyh-na-javascript-chast-1"},"modified":"2020-06-30T19:41:57","modified_gmt":"2020-06-30T17:41:57","slug":"monitoring-oshibok-s-pomoshhyu-sentry-vo-frontend-prilozheniyah-napisannyh-na-javascript-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/monitoring-oshibok-s-pomoshhyu-sentry-vo-frontend-prilozheniyah-napisannyh-na-javascript-chast-1","title":{"rendered":"\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tj\u00e4nsten <em>Sentry<\/em> m\u00f6jligg\u00f6r fj\u00e4rr\u00f6vervakning av buggar i frontend-applikationer som \u00e4r skrivna i <em>JavaScript<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/26936c2af48cb0d849eca4abd21b7deb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00f6rs\u00f6ket att \u00e5tg\u00e4rda problem i frontend-applikationer p\u00e5 <em>JavaScript<\/em> kan vara en utmanande uppgift, eftersom de uppst\u00e5r i anv\u00e4ndarens webbl\u00e4sare, som ni ofta inte har tillg\u00e5ng till. Men <em>Sentry<\/em> ger m\u00f6jlighet till fj\u00e4rr\u00f6vervakning av buggar.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/larkintuckerllc\/hello-sentry\">H\u00e4r<\/a><\/noindex> kan du ladda ner l\u00f6sningar som diskuterades i denna artikel.<\/p>\n<p><\/p>\n<p><strong>Vad som beh\u00f6vs<\/strong><\/p>\n<p><\/p>\n<p>Om du vill anv\u00e4nda dessa exempel beh\u00f6ver du:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/en\/\"><em>Node.js<\/em><\/a><\/noindex>: Ett multifunktionellt utvecklingsverktyg som inte \u00e4r en del av applikationen. Vi laddade ner den senaste LTS-versionen (8.12.0)<\/li>\n<li><em>Sentry<\/em>: Antingen ett konto p\u00e5 Sentry (du kan gratis logga upp till 10 000 buggar i m\u00e5naden) eller en installerad lokal Sentry - <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/getsentry\/onpremise\">https:\/\/github.com\/getsentry\/onpremise<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Installation p\u00e5 din server<\/strong><\/p>\n<p><\/p>\n<p>F\u00f6r att installera Sentry On-Premise p\u00e5 din server kan du g\u00e5 tv\u00e5 v\u00e4gar<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Bygga rpm och installera dem - <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/500632\/\">https:\/\/habr.com\/ru\/post\/500632\/<\/a><\/noindex><\/p>\n<p>\n<\/li>\n<li>\n<p>Anv\u00e4nda den officiella installationsprogrammet:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">Installera Docker och docker-compose p\u00e5 servern\n\tgit clone https:\/\/github.com\/getsentry\/onpremise.git\n\t.\/install.sh<\/code><\/pre>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p><strong>Standardanv\u00e4ndning<\/strong><\/p>\n<p><\/p>\n<p>F\u00f6r att b\u00f6rja, l\u00e4gg till ett nytt projekt f\u00f6r applikationen fr\u00e5n tj\u00e4nstens webbplats. Efter att ha valt r\u00e4tt spr\u00e5k f\u00e5r du motsvarande dokumentation. I v\u00e5rt fall valde vi <em>Sentry<\/em>Det f\u00f6rsta exemplet \u2014 standard <em>JavaScript<\/em>.<\/p>\n<p><\/p>\n<p>. H\u00e4r finns tv\u00e5 knappar: <em>JavaScript<\/em>\u00abHello\u00bb <em>(Hej) och<\/em> \u00abError\u00bb <em>(Fel).<\/em> N\u00e4r du klickar p\u00e5 knappen<\/p>\n<p><\/p>\n<p>, kommer sk\u00e4rmen att laddas om, och blocket <em>(Hej) och<\/em>uppt\u00e4cker och f\u00e5ngar buggen. Efter att buggen har blivit \"f\u00e5ngad\" skickas felrapporten manuellt till tj\u00e4nsten <em>f\u00f6rs\u00f6k<\/em> Knappen \u00abError\u00bb g\u00f6r det enkelt att uppt\u00e4cka buggar. <em>Sentry<\/em>.<\/p>\n<p><\/p>\n<p>vanilla \/ index.html<\/p>\n<p><\/p>\n<p><em>Sentry installeras fr\u00e5n CDN och visas som en global variabel<\/em><\/p>\n<p><\/p>\n<pre><code class=\"html\">&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;meta charset=&quot;UTF-8&quot;&gt;\n&lt;title&gt;Vanilla&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n  &lt;button id=&quot;hello&quot;&gt;Hej&lt;\/button&gt;\n  &lt;button id=&quot;error&quot;&gt;Error&lt;\/button&gt;\n  &lt;div id=&quot;output&quot;&gt;&lt;\/div&gt;\n  &lt;script src=&quot;https:\/\/browser.sentry-cdn.com\/4.0.5\/bundle.min.js&quot; crossorigin=&quot;anonymous&quot;&gt;&lt;\/script&gt;\n  &lt;script&gt;\n    (function () {\n      &#039;use strict&#039;;\n      Sentry.init({ dsn: &#039;https:\/\/b5bf359072254626aba8e64368e77b7d@sentry.io\/1289664&#039; });\n      var helloEl = document.getElementById(&#039;hello&#039;);\n      var errorEl = document.getElementById(&#039;error&#039;);\n      var outputEl = document.getElementById(&#039;output&#039;);\n      helloEl.addEventListener(&#039;click&#039;, handleHelloClick);\n      errorEl.addEventListener(&#039;click&#039;, handleErrorClick);\n      function handleHelloClick() {\n        outputEl.innerHTML = &#039;Hello World&#039;;\n        try {\n          throw new Error(&#039;Caught&#039;);\n        } catch (err) {\n          Sentry.captureException(err);\n        }\n      }\n      function handleErrorClick() {\n        throw new Error(&#039;Uncaught&#039;);\n      }\n    })();\n  &lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p><\/p>\n<p>Noteringar:<\/p>\n<p><\/p>\n<ul>\n<li>Tidigare k\u00f6rde vi Sentry i v\u00e5r JavaScript<\/li>\n<li>F\u00f6r att testa detta exempel kan vi anv\u00e4nda en statisk webbserverplattform<\/li>\n<\/ul>\n<p><\/p>\n<p>http-server. <em>Node.js<\/em>: <em>Vi g\u00e5r in i mappen d\u00e4r filen finns<\/em>, och skriver (alternativet st\u00e4nger av caching) f\u00f6ljande rad f\u00f6r att \u00f6ppna i webbl\u00e4saren adressen <em>index.html<\/em>Hur f\u00e5ngade buggar visas <noindex><a rel=\"nofollow\" href=\"http:\/\/localhost:8080\/\"><em>http:\/\/localhost:8080<\/em><\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Vi klickar f\u00f6rst p\u00e5 knappen<\/strong><\/p>\n<p><\/p>\n<p>Vi har f\u00e5ngat en bugg, s\u00e5 den kommer inte att bubbla upp i anropsstacken och d\u00e4rf\u00f6r \u00f6vervakas den inte i konsolen. Men eftersom vi manuellt skickar in <em>(Hej) och<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/ce1390a129b56988a5630b65d7152b85.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>felrapporten, kommer vi att se meddelandet om det i v\u00e5rt konto. <em>Sentry<\/em> Vi kan f\u00f6lja vilken rad (24) buggen dolde sig i<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/4660395849c963cf6b6bce03cdf74013.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Noteringar:<\/p>\n<p><\/p>\n<ul>\n<li>Dessutom visar navigeringskedjan de \u00e5tg\u00e4rder som webbl\u00e4saren vidtog som ledde till felet.<\/li>\n<li>Hur ouppsnappade buggar visas<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Hur ouppsnappade buggar visas<\/strong><\/p>\n<p><\/p>\n<p>Klicka p\u00e5 knappen <em>\u00abFel\u00bb.<\/em><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/d6b3e92ac9bda497d6bb5f2987bef8d9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Felet dyker upp h\u00f6gre i anropsstacken och d\u00e4rmed visas ett felmeddelande i konsolen. Efter detta \u00f6vervakar Sentry automatiskt felet utan n\u00e5gra ytterligare \u00e5tg\u00e4rder.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/554ada29ebadba636ad7e0edb0b8a104.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Noteringar:<\/p>\n<p><\/p>\n<ul>\n<li>Vi kan se p\u00e5 vilken rad (30) felet g\u00f6mde sig<\/li>\n<li>Det finns ingen navigationskedja (jag f\u00f6rst\u00e5r inte riktigt varf\u00f6r)<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Hur man s\u00e4kerst\u00e4ller projektets s\u00e4kerhet<\/strong><\/p>\n<p><\/p>\n<p>Du har kanske noterat hur vi kontrollerar sidor som kan skicka felrapporter till v\u00e5rt projekt <em>Sentry<\/em>; med hj\u00e4lp av <em>dsn<\/em> pl\u00e5tar. Problemet \u00e4r att vem som helst som tittar p\u00e5 din sidas k\u00e4llkod kan se detta.<\/p>\n<p><\/p>\n<p>F\u00f6r att f\u00f6rhindra detta m\u00e5ste antalet dom\u00e4ner som kan logga felrapporter till v\u00e5rt projekt begr\u00e4nsas. I det h\u00e4r exemplet anv\u00e4nde vi <em>localhost<\/em> (lokal v\u00e4rd). Detta alternativ st\u00e4lls in i inst\u00e4llningsfliken <em>Sentry<\/em>-projektet, <em>Sentry Projektinst\u00e4llning<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/fc8990a261c2c3673a9b8eda6eaf1fd0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Releaser<\/strong><\/p>\n<p><\/p>\n<p>Om man t\u00e4nker p\u00e5 hur man ska anv\u00e4nda <em>Sentry<\/em> i olika varianter av v\u00e5r applikation, s\u00e5 beh\u00f6vs en mekanism som markerar fel med versionsnumret.<\/p>\n<p><\/p>\n<p>Det \u00e4r ju inte s\u00e5 att vi vill att ett fel som vi har r\u00e4ttat ska dyka upp igen, och vi t\u00e4nker att det vi fixade inte fungerade. Det kan vara s\u00e5 att anv\u00e4ndaren har k\u00f6rt en \u00e4ldre, cachad version av applikationen.<\/p>\n<p><\/p>\n<p>F\u00f6r att l\u00f6sa problemet m\u00e5ste vi ange identifieraren <em>lanseringen<\/em> (versionen) vid starten <em>Sentry<\/em>.<\/p>\n<p><\/p>\n<p><em>Sentry installeras fr\u00e5n CDN och visas som en global variabel<\/em><\/p>\n<p><\/p>\n<pre><code class=\"javascript\">...\nvar RELEASE = '0.1.0';\nSentry.init({\n  dsn: 'https:\/\/b5bf359072254626aba8e64368e77b7d@sentry.io\/1289664',\n  release: RELEASE,\n});\n...<\/code><\/pre>\n<p><\/p>\n<p>Efter detta kommer alla nya fel att markeras som <em>release (0.1.0)<\/em>, det vill s\u00e4ga de kommer att kopplas till r\u00e4tt version av koden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/b9776d3b6f9ebe94915c53374937dddc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Noteringar:<\/p>\n<p><\/p>\n<ul>\n<li>Vi har diskuterat ett enkelt s\u00e4tt att anv\u00e4nda versioner<\/li>\n<li>Sentry till\u00e5ter mer <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.sentry.io\/learn\/releases\/?platform=javascript\"><em>komplexa<\/em> dem <em>anv\u00e4ndningen av<\/em><\/a><\/noindex>, som \u00e4r t\u00e4tt kopplade till <em>GitHub<\/em>. Denna funktion m\u00f6jligg\u00f6r att sp\u00e5ra fel f\u00f6re vissa operationer.<\/li>\n<\/ul>\n<p><\/p>\n<p>P.S. Den andra delen \u00e4r l\u00e4ngre, s\u00e5 den kommer att publiceras i ett separat inl\u00e4gg.<\/p>\n<p><\/p>\n<p>P.S Telegramchatten Sentry <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/sentry_ru\">https:\/\/t.me\/sentry_ru<\/a><\/noindex><\/p>\n<p><\/p>\n<p>P.S. Jag gl\u00f6mde n\u00e4mna att detta \u00e4r en \u00f6vers\u00e4ttning av inl\u00e4gget <noindex><a rel=\"nofollow\" href=\"https:\/\/codeburst.io\/sentry-error-reporting-by-example-part-1-999b2df11556\">https:\/\/codeburst.io\/sentry-error-reporting-by-example-part-1-999b2df11556<\/a><\/noindex><\/p>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/508686\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0435\u0440\u0432\u0438\u0441 Sentry \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0431\u0430\u0433\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 JavaScript. \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u043d\u0430 JavaScript \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u043a\u043e\u0439, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043a \u0447\u0435\u043c\u0443, \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e, \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u041e\u0434\u043d\u0430\u043a\u043e, Sentry \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0431\u0430\u0433\u0438. \u0417\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u0427\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0415\u0441\u043b\u0438 \u0432\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86854,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86853","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0435\u0440\u0432\u0438\u0441 Sentry \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0431\u0430\u0433\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 JavaScript.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/monitoring-oshibok-s-pomoshhyu-sentry-vo-frontend-prilozheniyah-napisannyh-na-javascript-chast-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043e\u0448\u0438\u0431\u043e\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Sentry \u0432\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 JavaScript: \u0427\u0430\u0441\u0442\u044c 1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0435\u0440\u0432\u0438\u0441 Sentry \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0431\u0430\u0433\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 JavaScript.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/monitoring-oshibok-s-pomoshhyu-sentry-vo-frontend-prilozheniyah-napisannyh-na-javascript-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-30T17:41:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-30T17:41:57+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00d6vervakning av fel med hj\u00e4lp av Sentry i frontend-applikationer skrivna i JavaScript: Del 1 | ProHoster","description":"Sentry-tj\u00e4nsten m\u00f6jligg\u00f6r fj\u00e4rr\u00f6vervakning av fel i frontend-applikationer skrivna i JavaScript.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/monitoring-oshibok-s-pomoshhyu-sentry-vo-frontend-prilozheniyah-napisannyh-na-javascript-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043e\u0448\u0438\u0431\u043e\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Sentry \u0432\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 JavaScript: \u0427\u0430\u0441\u0442\u044c 1 | ProHoster","og:description":"\u0421\u0435\u0440\u0432\u0438\u0441 Sentry \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0431\u0430\u0433\u0438 \u0432 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 JavaScript.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/monitoring-oshibok-s-pomoshhyu-sentry-vo-frontend-prilozheniyah-napisannyh-na-javascript-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-30T17:41:57+00:00","article:modified_time":"2020-06-30T17:41:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86853","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:05:27","updated":"2022-09-30 20:48:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/86853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=86853"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/86853\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/86854"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=86853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=86853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=86853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}