{"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\/da\/blog\/administrirovanie\/monitoring-oshibok-s-pomoshhyu-sentry-vo-frontend-prilozheniyah-napisannyh-na-javascript-chast-1","title":{"rendered":"Fejlh\u00e5ndtering ved hj\u00e6lp af Sentry i frontend-applikationer skrevet i JavaScript: Del 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Service <em>Sentry<\/em> giver mulighed for fjernafs\u00f8gning af fejl i frontend-applikationer skrevet i <em>JavaScript<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Fejlh\u00e5ndtering ved hj\u00e6lp af Sentry i frontend-applikationer skrevet i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/26936c2af48cb0d849eca4abd21b7deb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Fors\u00f8g p\u00e5 at l\u00f8se problemer i frontend-applikationer p\u00e5 <em>JavaScript<\/em> kan vise sig at v\u00e6re en udfordring, da de opst\u00e5r i brugerens browser, som man ofte ikke har adgang til. Dog, <em>Sentry<\/em> giver mulighed for fjernafs\u00f8gning af fejl.<\/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\">Her<\/a><\/noindex> kan downloades l\u00f8sninger, der blev diskuteret i denne artikel.<\/p>\n<p><\/p>\n<p><strong>Hvad der er n\u00f8dvendigt<\/strong><\/p>\n<p><\/p>\n<p>Hvis du vil bruge disse eksempler, vil du have brug for:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/en\/\"><em>Node.js<\/em><\/a><\/noindex>: Et multifunktionelt udviklingsv\u00e6rkt\u00f8j, der ikke er en del af applikationen. Vi downloadede den seneste LTS-version (8.12.0)<\/li>\n<li><em>Sentry<\/em>: Enten en konto i Sentry-tjenesten (man kan gratis registrere op til 10.000 fejl om m\u00e5neden) eller en installeret 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>For at installere Sentry On-Premise p\u00e5 dine servere kan man f\u00f8lge 2 veje<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Samle rpm-filer og installere 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>Brug den officielle installationsprogram:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">Installer Docker og docker-compose p\u00e5 serveren\ngit clone https:\/\/github.com\/getsentry\/onpremise.git\n.\/install.sh<\/code><\/pre>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p><strong>Standard brug<\/strong><\/p>\n<p><\/p>\n<p>For at komme i gang, tilf\u00f8j et nyt <em>Sentry<\/em>-projekt til applikationen. Efter valg af det relevante sprog vil du modtage dokumentation. I vores tilf\u00e6lde valgte vi <em>JavaScript<\/em>.<\/p>\n<p><\/p>\n<p>Det f\u00f8rste eksempel - standard <em>JavaScript<\/em>. Her er der to knapper: <em>\u00abHello\u00bb<\/em> (Hej) og <em>\u00abError\u00bb<\/em> (Fejl).<\/p>\n<p><\/p>\n<p>Efter at du har klikket p\u00e5 knappen <em>\u00abHello\u00bb<\/em>, vil sk\u00e6rmen genindl\u00e6se, og blokken <em>try<\/em> vil opdage og fange fejlen. Efter fejlen er \u00abfanget\u00bb, sendes fejloplysningerne manuelt til tjenesten <em>Sentry<\/em>.<\/p>\n<p><\/p>\n<p>Knapperne \u00abError\u00bb tillader simpelthen at opdage fejlen.<\/p>\n<p><\/p>\n<p><em>vanilla \/ index.html<\/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;Fejl&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>Bem\u00e6rkninger:<\/p>\n<p><\/p>\n<ul>\n<li>Sentry installeres fra CDN og vises som en global variabel<\/li>\n<li>Tidligere k\u00f8rte vi Sentry i vores JavaScript<\/li>\n<\/ul>\n<p><\/p>\n<p>For at teste dette eksempel kan vi bruge en statisk webserverplatform <em>Node.js<\/em>: <em>http-server<\/em>. G\u00e5 ind i mappen, der indeholder filen <em>index.html<\/em>, og indtast (denne mulighed deaktiverer caching) f\u00f8lgende linje for at \u00e5bne adressen i browseren <noindex><a rel=\"nofollow\" href=\"http:\/\/localhost:8080\/\"><em>http:\/\/localhost:8080<\/em><\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Hvordan fangede fejl vises<\/strong><\/p>\n<p><\/p>\n<p>F\u00f8rst klikker vi p\u00e5 knappen <em>\u00abHello\u00bb<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Fejlh\u00e5ndtering ved hj\u00e6lp af Sentry i frontend-applikationer skrevet i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/ce1390a129b56988a5630b65d7152b85.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Vi fangede en fejl, s\u00e5 den vil ikke stige op ad kaldestakken og derfor ikke overv\u00e5ges i konsollen. Men da vi sender en <em>Sentry<\/em> fejlrapport manuelt, vil vi se en besked om den i kontoen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Fejlh\u00e5ndtering ved hj\u00e6lp af Sentry i frontend-applikationer skrevet i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/4660395849c963cf6b6bce03cdf74013.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Bem\u00e6rkninger:<\/p>\n<p><\/p>\n<ul>\n<li>Vi kan f\u00f8lge, hvilken linje (24) fejlen optr\u00e5dte i<\/li>\n<li>Desuden viser navigationsk\u00e6den browserens handlinger, der f\u00f8rte til fejlen.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Hvordan fangede fejl vises<\/strong><\/p>\n<p><\/p>\n<p>Vi klikker p\u00e5 knappen <em>\u00abFejl\u00bb.<\/em><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Fejlh\u00e5ndtering ved hj\u00e6lp af Sentry i frontend-applikationer skrevet i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/d6b3e92ac9bda497d6bb5f2987bef8d9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Fejlen bobler op gennem opkaldshierarkiet og dermed vises fejlh\u00e5ndteringsbeskeden p\u00e5 konsollen. Herefter monitorerer Sentry automatisk fejlen uden yderligere handling.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Fejlh\u00e5ndtering ved hj\u00e6lp af Sentry i frontend-applikationer skrevet i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/554ada29ebadba636ad7e0edb0b8a104.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Bem\u00e6rkninger:<\/p>\n<p><\/p>\n<ul>\n<li>Vi kan se, hvilken linje (30) fejlen gik tabt i<\/li>\n<li>Der er ikke forudset en navigationsk\u00e6de (jeg forst\u00e5r ikke helt hvorfor)<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Hvordan sikrer man projektets sikkerhed<\/strong><\/p>\n<p><\/p>\n<p>M\u00e5ske har du bem\u00e6rket m\u00e5den, vi kontrollerer sider, der kan sende fejllogs til vores projekt <em>Sentry<\/em>; ved hj\u00e6lp af <em>dsn<\/em> optegnelser. Problemet er, at enhver, der ser kildekoden p\u00e5 din side, kan se dette.<\/p>\n<p><\/p>\n<p>For at undg\u00e5 dette skal antallet af dom\u00e6ner, der kan sende fejllogs til vores projekt, begr\u00e6nses. I dette eksempel har vi brugt <em>localhost<\/em> (localhost). Denne mulighed kan konfigureres i indstillingsfanen <em>Sentry<\/em>-projektet, <em>Sentry Projektindstilling<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Fejlh\u00e5ndtering ved hj\u00e6lp af Sentry i frontend-applikationer skrevet 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>Udgivelser<\/strong><\/p>\n<p><\/p>\n<p>Hvis vi t\u00e6nker p\u00e5, hvordan man bruger <em>Sentry<\/em> i forskellige variationer af vores ans\u00f8gning, kr\u00e6ves der en slags mekanisme, der markerer fejl med versionsnummer.<\/p>\n<p><\/p>\n<p>Det er ikke hensigtsm\u00e6ssigt, hvis en fejl, vi har rettet, dukker op igen, mens vi tror, at det, vi har rettet, ikke fungerede. Der kan ogs\u00e5 v\u00e6re tilf\u00e6ldigt, at brugeren har k\u00f8rt en \u00e6ldre, cachet version af ans\u00f8gningen.<\/p>\n<p><\/p>\n<p>For at l\u00f8se problemet skal identifikatoren <em>for udgivelsen<\/em> (versionen) skrives ved opstart <em>Sentry<\/em>.<\/p>\n<p><\/p>\n<p><em>vanilla \/ index.html<\/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>Herefter vil alle nye fejl blive markeret som <em>release (0.1.0)<\/em>, hvilket betyder, at de vil blive knyttet til den rette kodeversion.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Fejlh\u00e5ndtering ved hj\u00e6lp af Sentry i frontend-applikationer skrevet i JavaScript: Del 1\" src=\"\/wp-content\/uploads\/2020\/06\/b9776d3b6f9ebe94915c53374937dddc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Bem\u00e6rkninger:<\/p>\n<p><\/p>\n<ul>\n<li>Vi har gennemg\u00e5et en simpel m\u00e5de at bruge udgivelser p\u00e5<\/li>\n<li>Sentry giver mulighed for at anvende mere <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.sentry.io\/learn\/releases\/?platform=javascript\"><em>komplekse<\/em> dem <em>brug af<\/em><\/a><\/noindex>, som er t\u00e6t knyttet til <em>GitHub<\/em>. Denne funktion muligg\u00f8r overv\u00e5gning af fejl f\u00f8r bestemte handlinger udf\u00f8res.<\/li>\n<\/ul>\n<p><\/p>\n<p>P.S. Den anden del er l\u00e6ngere, s\u00e5 den vil blive i et separat indl\u00e6g.<\/p>\n<p><\/p>\n<p>P.S. Telegram chat 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. Jeg glemte at n\u00e6vne, at dette er en overs\u00e6ttelse af indl\u00e6gget <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>Kilde: <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.3 - 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\/da\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Fejlmonitorering med Sentry i frontend-applikationer skrevet i JavaScript: Del 1 | ProHoster","description":"Sentry-servicen muligg\u00f8r fjernoverv\u00e5gning af fejl i frontend-applikationer skrevet i JavaScript.","canonical_url":"https:\/\/prohoster.info\/da\/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":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/86853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=86853"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/86853\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/86854"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=86853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=86853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=86853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}