په جاواسکریپټ کې لیکل شوي د مخکني پای غوښتنلیکونو کې د سینټري سره د څارنې تېروتنې: برخه 1

خدمت سینتری تاسو ته اجازه درکوي چې په مخکني پای غوښتنلیکونو کې چې لیکل شوي په لرې ډول بګ وڅاري د جاواسکرېپټ.

په جاواسکریپټ کې لیکل شوي د مخکني پای غوښتنلیکونو کې د سینټري سره د څارنې تېروتنې: برخه 1

د مخکینۍ پای غوښتنلیکونو کې د ستونزو حل کولو هڅه کول د جاواسکرېپټ مشکل کیدی شي ځکه چې دوی د کارونکي براوزر کې رامینځته کیږي ، کوم چې تاسو ډیری وختونه لاسرسی نلرئ. په هرصورت، سینتری دا ممکنه کوي چې له لیرې د کیګونو څارنه وکړي.

دا تاسو کولی شئ پدې مقاله کې بحث شوي حلونه ډاونلوډ کړئ.

هغه څه چې اړین دي

که تاسو غواړئ دا مثالونه وکاروئ، تاسو به اړتیا ولرئ:

  • Node.js: د بډایه پرمختیا وسیله چې د غوښتنلیک برخه نه ده. موږ د LTS وروستی نسخه ډاونلوډ کړی (8.12.0)
  • سینتری: یا د سینټري خدمت کې حساب (تاسو کولی شئ په میاشت کې تر 10 زره بګ په وړیا توګه ثبت کړئ) یا نصب شوی ځایی سینټري - https://github.com/getsentry/onpremise

ستاسو په سرور کې نصب کول

ستاسو په سرور کې د سینټری آن پریمیس نصبولو لپاره تاسو کولی شئ په 2 لارو لاړ شئ

  1. rpm جوړ کړئ او نصب یې کړئ - https://habr.com/ru/post/500632/

  2. رسمي انسټالر وکاروئ:

    Установить на сервер docker и docker-compose
    git clone https://github.com/getsentry/onpremise.git
    ./install.sh

معیاري کارول

د پیل کولو لپاره، د خدماتو ویب پاڼې څخه یو نوی اضافه کړئ سینتری- د غوښتنلیک لپاره پروژه. د غوښتل شوي ژبې غوره کولو وروسته، تاسو به ورته اسناد ترلاسه کړئ. زموږ په قضیه کې موږ غوره کړه د جاواسکرېپټ.

لومړی مثال معیاري دی د جاواسکرېپټ. دلته دوه تڼۍ شتون لري: "سلام" (سلام) او "تېروتنه" ( تېروتنه ) .

د تڼۍ کلیک کولو وروسته "سلام"، سکرین به ریبوټ او بلاک به شي هڅه بګ به کشف او ونیسي. وروسته له هغه چې بګ "نیول شو"، د تېروتنې راپور په لاسي ډول خدمت ته لیږل کیږي سینتری.

د "غلطۍ" تڼۍ تاسو ته اجازه درکوي په اسانۍ سره بګ کشف کړئ.

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>

یادونې:

  • سینټری د CDN څخه نصب شوی او د نړیوال متغیر په توګه افشا شوی
  • یو څه دمخه موږ په خپل جاواسکریپټ کې سینټري پیل کړه

د دې مثال ازموینې لپاره، موږ کولی شو د جامد ویب سرور پلیټ فارم وکاروو Node.js: http سرور. هغه فولډر ته لاړ شئ چیرې چې فایل زیرمه شوی index.html د، او په براوزر کې د پته خلاصولو لپاره لاندې کرښه دننه کړئ (د کیچ کولو غیر فعال کولو سره اختیار). http://localhost:8080.

څنګه نیول شوي کیګونه ښودل کیږي

لومړی په تڼۍ کلیک وکړئ "سلام".

په جاواسکریپټ کې لیکل شوي د مخکني پای غوښتنلیکونو کې د سینټري سره د څارنې تېروتنې: برخه 1

موږ یو بګ نیولی ، نو دا به د کال سټیک پاپ اپ نه کړي ، او له همدې امله په کنسول کې نه څارل کیږي. په هرصورت، ځکه چې موږ یې لیږو سینتری په لاسي ډول د بګ راپور ورکړئ، موږ به ستاسو په حساب کې د هغې په اړه یو پیغام وګورو.

په جاواسکریپټ کې لیکل شوي د مخکني پای غوښتنلیکونو کې د سینټري سره د څارنې تېروتنې: برخه 1

یادونې:

  • موږ کولی شو معلومه کړو چې کومه کرښه (24) بګ لري
  • برسېره پردې، د برډکرمب ټریل د براوزر کړنې ښیې چې د خطا لامل شوي.

څنګه ناڅرګند شوي بګونه ښودل شوي

تڼۍ کلیک وکړئ "تېروتنه".

په جاواسکریپټ کې لیکل شوي د مخکني پای غوښتنلیکونو کې د سینټري سره د څارنې تېروتنې: برخه 1

بګ د کال سټیک پورته کوي او پدې توګه په کنسول کې د خطا پیغام څرګندیږي. له دې وروسته ، سینټري پرته له کوم اضافي عمل څخه بګ په اوتومات ډول څاري.

په جاواسکریپټ کې لیکل شوي د مخکني پای غوښتنلیکونو کې د سینټري سره د څارنې تېروتنې: برخه 1

یادونې:

  • موږ ګورو چې په کومه کرښه کې (30) بګ له لاسه ورکړل شوی
  • دلته د ډوډۍ پخولو لاره نشته (زه په بشپړ ډول نه پوهیږم ولې)

څنګه د پروژې امنیت ډاډمن کړئ

تاسو شاید هغه طریقه لیدلي وي چې موږ کنټرول کوو کوم پاڼې کولی شي زموږ پروژې ته د غلطیو راپور ورکړي سینتری; په مرسته dsn ریکارډونه ستونزه دا ده چې ان پټ د هر هغه چا لخوا لیدل کیدی شي چې ستاسو د پاڼې سرچینې کوډ ګوري.

د دې څخه د مخنیوي لپاره، موږ اړتیا لرو د ډومینونو شمیر محدود کړو چې کولی شي زموږ پروژې ته د تېروتنې راپورونه وسپاري. په دې مثال کې موږ کاروو ځایی لوسټ (سیمه ایز کوربه). دا اختیار د ترتیباتو په ټب کې تنظیم شوی سینتری- پروژه، د سینټري پروژې ترتیب.

په جاواسکریپټ کې لیکل شوي د مخکني پای غوښتنلیکونو کې د سینټري سره د څارنې تېروتنې: برخه 1

خوشې کوي

که تاسو د کارولو څرنګوالي په اړه فکر کوئ سینتری زموږ د غوښتنلیک په مختلفو توپیرونو کې، بیا موږ یو ډول میکانیزم ته اړتیا لرو چې د نسخې شمیرې سره غلطۍ په نښه کړي.

په هرصورت، موږ نه غواړو هغه بګ چې موږ یې حل کړی یو ځل بیا پاپ اپ وکړو، او موږ فکر کوو چې هغه څه چې موږ حل کړي کار نه کوي. دا هم کیدی شي چې کارونکي د غوښتنلیک یو زوړ، زیرمه شوی نسخه پیل کړي.

د ستونزې د حل لپاره، تاسو اړتیا لرئ چې پیژندونکی داخل کړئ خوشې کول (نسخه) په پیل کې سینتری.

vanilla/index.html

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

له دې وروسته، ټولې نوې تېروتنې به په نښه شي خپور (0.1.0)، دا دی، دوی به د کوډ سمې نسخې سره وصل شي.

په جاواسکریپټ کې لیکل شوي د مخکني پای غوښتنلیکونو کې د سینټري سره د څارنې تېروتنې: برخه 1

یادونې:

  • موږ د ریلیزونو کارولو لپاره یوه ساده لاره موندلې ده
  • سینټري تاسو ته اجازه درکوي نور وکاروئ پیچلي خپل د استعمال، کوم چې له نږدې سره تړاو لري GitHub. دا فنکشن د ځانګړو عملیاتو ترسره کولو دمخه د بګ تعقیب کول ممکنه کوي.

PS دویمه برخه اوږده ده، نو دا به په جلا پوسټ کې وي.

د PS ټیلیګرام چیٹ سینټری https://t.me/sentry_ru

PS ما هیر کړی چې دا په ګوته کړي چې دا د پوسټ ژباړه ده https://codeburst.io/sentry-error-reporting-by-example-part-1-999b2df11556

سرچینه: www.habr.com

Add a comment