সমস্ত জাভাস্ক্রিপ্ট ত্রুটি ধরুন এবং তাদের সার্ভারে প্রেরণ করুন


232

আমি ভাবলাম যে কারও কাছে বিশ্বব্যাপী জাভাস্ক্রিপ্ট ত্রুটিগুলি পরিচালনা করার অভিজ্ঞতা আছে এবং সেগুলি ক্লায়েন্ট ব্রাউজার থেকে কোনও সার্ভারে প্রেরণ করুন।

আমি মনে করি আমার বক্তব্যটি বেশ স্পষ্ট, আমি ক্লায়েন্টের পক্ষ থেকে ঘটে যাওয়া প্রতিটি ব্যতিক্রম, ত্রুটি, সংকলন ত্রুটি ইত্যাদি জানতে চাই এবং সেগুলি জানাতে সার্ভারে প্রেরণ করব।

আমি মূলত MooTools এবং head.js(জেএস পাশের জন্য) এবং সার্ভারের পক্ষে জ্যাঙ্গো ব্যবহার করছি।


20
এই প্রশ্নটি কেন অস্পষ্ট তা আমি দেখতে পাচ্ছি না।
মাইকেল হিলাস

3
প্রশ্নটি পুনরায় খুলতে দু'বার ভোট দিয়েছেন, তবে কোনও ভাগ্য ছাড়াই। এটি সম্পূর্ণ অস্পষ্ট যে এই প্রশ্নটি কেন অস্পষ্ট হিসাবে বন্ধ রয়েছে।
মুহাম্মদ উসমান

7
@ অ্যান্ড্রু-নাপিত - যদি এতগুলি ব্যবহারকারী এই প্রশ্নটিকে উজ্জীবিত করার পক্ষে যথেষ্ট প্রাসঙ্গিক বলে মনে করেন তবে এটি যদি আপনার কাছে অস্পষ্ট হয় তবে সমস্যাটি আপনার সাথেই আছে কিনা ??
ইসাপির

5
এই প্রশ্নটি কেবল স্পষ্ট নয়,
এটিকেও আন্ডাররেটেড করা হয়েছে

উত্তর:


16

আমি সম্প্রতি উত্পাদন সম্পর্কিত সেন্ট্রি পরীক্ষা করেছি এবং এটি দুর্দান্ত কাজ করে (জেএস এবং পিএইচপি এর মতো অন্যান্য ভাষা)

1- এটি ওপেন সোর্স (আপনি এটি নিজের সার্ভারে ইনস্টল করতে পারেন) 2- আপনি নিখরচায় পরিকল্পনাটি ব্যবহার করতে পারেন (100 টি প্রতিবেদন / দিন)

বা এটি আপনার সার্ভারে ইনস্টল করুন: github.com/getsentry


নোট করুন যে তাদের শিক্ষাপ্রতিষ্ঠানের জন্য সীমাহীন বিনামূল্যে পরিকল্পনা রয়েছে
খ্রিস্টিয়ানোভিয়ারিংস

8
এখন আর ওপেন সোর্স বলে মনে হচ্ছে না, সমস্ত বিকল্প প্রদান করা হয়েছে?
ডেভিড কম্পস

4
@ ডেভিডকম্পস তারা এখনও নিখরচায় পরিষেবা (ট্রায়াল) অফার করে, তবে আপনি কেবল days দিনের বাগের ইতিহাস পেয়ে থাকেন বা এটির নিজের সার্ভারে এটির উন্মুক্ত উত্স ( github.com/getsentry ) থেকে ইনস্টল করতে পারবেন
তারেক

1
গুগল ট্যাগ ম্যানেজারের একটি জাভাস্ক্রিপ্ট ত্রুটি শ্রোতা রয়েছে, এটি পরীক্ষা করে দেখার মতো, বিশেষত যদি আপনি ইতিমধ্যে জিএ ব্যবহার করছেন
অ্যাড্রিয়ান গুণওয়ান

এর জন্য আপনার ট্র্যাকজেএস চেকআউট করা উচিত । এটি একটি প্রদত্ত পরিষেবা, তবে এটি ব্যবহারকারী কীভাবে ডিবাগিংয়ের জন্য ত্রুটির পরিস্থিতিতে পড়েছিল সে সম্পর্কে একাধিক প্রসঙ্গ সরবরাহ করে। আমি বিকাশকারীদের সাথে রয়েছি এবং এটির সাথে
টড গার্ডনার

318

আমি উইন্ডো.অনরআর চেক আউট করব

উদাহরণ:

window.onerror = function(message, url, lineNumber) {  
  //save error and send to server for example.
  return true;
};  

মনে রাখবেন যে সত্য ফিরে আসা ডিফল্ট হ্যান্ডলারটির গুলি ছোঁড়াতে বাধা দেয় এবং মিথ্যা প্রত্যাবর্তনের ফলে ডিফল্ট হ্যান্ডলারটি চলতে দেয়।


9
আপনি উইন্ডো.অনরআরারকে অন্য কিছু চালানোর আগেই অগ্রাধিকার দিতে চাইবেন। সুতরাং আপনি যেখানেই এটি রাখতে চান, নিশ্চিত হয়ে নিন এটি আপনার অন্য জেএস কোড / ফাইলগুলির আগে চলেছে runs
মাইক লুইস

17
দ্রষ্টব্য, মজিলা সুপারিশ করে: 'নোট করুন যে কয়েকটি / অনেক ত্রুটি ইভেন্টগুলি উইন্ডো.অনরারকে ট্রিগার করে না, আপনাকে তাদের বিশেষভাবে শুনতে হবে' '
অ্যাডাম নায়লর

88
হ্যাঁ, আমি এটি কিছু / অনেক , খুব বর্ণনামূলকভাবে কীভাবে বলে তা পছন্দ করি - ধন্যবাদ মজিলা।
ড্যানিয়েল মেন্ডেল

5
মোজিলা গ্লোবাল ইভেন্টহ্যান্ডার্স.অনররর উন্মোচন করেছে: বিকাশকারী.মোজিলা.আর.ইন.ইউএস
রোল্যান্ড

1
উইন্ডো.অনরআরেলটি পরিচালনা করে এমন কোডটি নিজেই একটি ত্রুটি ছুঁড়ে দিলে কী হয়। অসীম লুপ হওয়ার সম্ভাবনা আছে কি?
মার্টিন ব্রাউন

15

যদি আপনার ওয়েবসাইট গুগল অ্যানালিটিক্স ব্যবহার করে তবে আপনি যা করতে পারেন তা করতে পারেন:

window.onerror = function(message, source, lineno, colno, error) {
  if (error) message = error.stack;
  ga('send', 'event', 'window.onerror', message, navigator.userAgent);
}

উপরের কোডটিতে কয়েকটি মন্তব্য:

  • আধুনিক ব্রাউজারগুলির জন্য, সম্পূর্ণ স্ট্যাক ট্রেস লগড।
  • পুরানো ব্রাউজারগুলির জন্য যা স্ট্যাক ট্রেসটি ক্যাপচার করে না, ত্রুটি বার্তাটির পরিবর্তে লগ করা হয়েছে। (আমার অভিজ্ঞতার বেশিরভাগ পূর্ববর্তী আইওএস সংস্করণ)।
  • ব্যবহারকারীর ব্রাউজার সংস্করণটিও লগড রয়েছে, তাই আপনি দেখতে পাচ্ছেন কোন ওএস / ব্রাউজার সংস্করণগুলি কোন ত্রুটি ছুঁড়ে ফেলছে। এটি বাগ অগ্রাধিকার এবং পরীক্ষা সহজতর করে।
  • আপনি যদি "বিশ্লেষণ.জেএস" এর মতো গুগল অ্যানালিটিক্স ব্যবহার করেন তবে এই কোডটি কাজ করে । আপনি "gtag.js" ব্যবহার করে থাকেন পরিবর্তে, ভালো , আপনি ফাংশনের শেষ লাইনটি খামচি করতে হবে। বিশদ জন্য এখানে দেখুন

কোডটি একবার স্থির হয়ে গেলে আপনি কীভাবে আপনার ব্যবহারকারীদের জাভাস্ক্রিপ্ট ত্রুটি দেখতে পাবেন:

  1. গুগল অ্যানালিটিক্সে, Behaviorবিভাগটি এবং তারপরে Top Eventsপ্রতিবেদনটি ক্লিক করুন ।
  2. আপনি ইভেন্ট বিভাগের একটি তালিকা পাবেন। window.onerrorতালিকায় ক্লিক করুন ।
  3. আপনি জাভাস্ক্রিপ্ট স্ট্যাক ট্রেস এবং ত্রুটি বার্তাগুলির একটি তালিকা দেখতে পাবেন। Secondary dimensionবাটনে ক্লিক করে এবং প্রবেশ করে আপনার ব্যবহারকারীর ওএস / ব্রাউজার সংস্করণগুলির প্রতিবেদনে একটি কলাম যুক্ত করুনEvent Label প্রদর্শিত টেক্সটবক্সে ।
  4. প্রতিবেদনটি নীচের স্ক্রিনশটের মতো দেখাবে।
  5. ওএস / ব্রাউজারের স্ট্রিংগুলিকে আরও বেশি মানব-পঠনযোগ্য বর্ণনায় অনুবাদ করতে, আমি সেগুলি https: //developers. কিটস্মাইব্রোজার / ইউজারজেন্টস / পার্স / এ অনুলিপি করছি

এখানে চিত্র বর্ণনা লিখুন


3
এটি সমস্ত ত্রুটিগুলি ফাঁদে ফেলবে না, কেবল ব্লকগুলি চেষ্টা করে দেখুন, যদিও এটি ব্যাখ্যা করার জন্য এটি দুর্দান্ত জিনিস এবং আমি ভাবি না যে আপনি ডাউনওয়েটের যোগ্য।
নিক স্টিলে

ধন্যবাদ, নিক! আমি আমার উত্তরটি যুদ্ধ-পরীক্ষিত কোডের সাথে আপডেট করেছি যা আমার ওয়েবসাইটে ভালভাবে কাজ করে এবং যা সমস্ত ত্রুটিগুলি ক্যাপচার করে, কেবল আপনি যা চেষ্টা করে যাচ্ছেন তা নয় ... ধরুন।
মার্টিন ওমান্ডার

2

পরিবর্তে তৃতীয় পক্ষের পরিষেবাগুলি নিজের জন্য চেষ্টা করার চেষ্টা করবেন না।

ত্রুটি হ্যান্ডলারগুলি নীচের পরিস্থিতিগুলি ধরতে পারে,

  1. আনকাচড টাইপ এরির ক্যাপচার করা যায় না
  2. আনকচড রেফারেন্স এরির ধরা পড়তে পারে না যেমন: var.click ()
  3. TypeError ক্যাপচার করা যায়
  4. সিনট্যাক্স ত্রুটি ক্যাপচার করা যেতে পারে
  5. রেফারেন্সএরর ক্যাপচার করা যায়

জাভাস্ক্রিপ্ট ত্রুটিগুলি ধরতে:

window.addEventListener('error', function (e) {
  //It Will handle JS errors 
})

AngularJS ত্রুটিগুলি ক্যাপচার করতে:

app.config(function ($provide) {
$provide.decorator('$exceptionHandler', function ($delegate) {
   return function (exception, cause) {
       //It will handle AngualarJS errors
      }
   })
})

0

এছাড়াও, http://jslogger.com পরিষেবাটি এতে সহায়তা করতে পারে:

জাভাস্ক্রিপ্ট ত্রুটি এবং মেঘে ইভেন্টগুলি লগ করুন

http://jslogger.com/features থেকে :

এখন থেকে আপনি সমস্ত ত্রুটি যা আপনার সাইটের ব্যবহারকারীর অভিজ্ঞতা ভঙ্গ করে তা গুপ্তচর করতে পারেন। প্রতিটি জাভাস্ক্রিপ্ট ত্রুটি ধরা পড়বে এবং পরে ডিবাগ করার জন্য আপনার কাছে নিয়ে আসবে।

অস্বীকৃতি: পরিষেবা / সংস্থার সাথে অনুমোদিত নয়।


1
503 পরিষেবা অনুপলব্ধ
রাক্স

0

আপনি আটাটাস চেষ্টা করতে পারেন - এটি আধুনিক ওয়েব অ্যাপ্লিকেশনগুলির জন্য রিয়েল ইউজার মনিটরিং (আরএমএম) সহ একটি নতুন জাভাস্ক্রিপ্ট ত্রুটি ট্র্যাকিং পরিষেবা।

আমরা কেবল ত্রুটিগুলি ক্যাপচার করি না, তবুও ব্যবহারকারীর ইভেন্টগুলিও ত্রুটিটিকে ট্রিগার করেছিল। এটি আপনাকে আপনার শেষে ত্রুটিটি পুনরুত্পাদন করার পদক্ষেপ দেয়।

ত্রুটি ক্যাপচারের পাশাপাশি, আমরা পৃষ্ঠাটি লোডের সময়টি ক্যাপচার করি এবং এটি বিভিন্ন দৃষ্টিকোণ জুড়ে প্রদর্শন করি - জিও, ব্রাউজার, পৃষ্ঠা ড্রিল ডাউন, পৃষ্ঠা হিস্টোগ্রাম, অ্যাজাক্স মনিটরিং এবং লেনদেন পর্যবেক্ষণ।

https://www.atatus.com/

দস্তাবেজগুলি উপলভ্য: https://www.atatus.com/docs

দাবি অস্বীকার: আমি আতাতাসের একটি ওয়েব বিকাশকারী।


1
আমি আতাউসকে একীভূত করেছি এবং তার চেয়ে আমি foo.bar = '' এর মতো কিছু চেষ্টা করেছি যা ব্যতিক্রম ঘটায়। তবে আমি আ্যাটাস ড্যাশবোর্ডে কিছুই দেখতে পাচ্ছি না।
vmachacek

আপনি কি আমাদের একটি ইমেল ড্রপ করতে পারেন?
ফিজার খান

5
নির্লজ্জ প্লাগ। বিজ্ঞাপনগুলি ডানদিকে সীমাবদ্ধ করা উচিত।
হবে

0

দ্য Uncaught গ্রন্থাগার অপরিচালিত rejections সহ ভাল বিনামূল্যে উপায় ক্যাপচার সব জাতীয় ত্রুটি, হয়।


-2

আপনি এই নতুন পরিষেবাটি পরীক্ষা করতে চান, http://rescuejs.com/https://bugsnag.com/

আপনাকে নিজের সার্ভার সাইড কোড না লিখে আপনার সমস্ত জাভাস্ক্রিপ্ট ত্রুটি লগ করতে দেয়। এটি ব্রাউজার সংস্করণ এবং অন্যান্যও ট্র্যাক করে।

আমি নিশ্চিত নই যে আমি তাদের 100% "এন্টারপ্রাইজ প্রস্তুত" বিবেচনা করব, তবে এটি অবশ্যই খুঁজে বার করার মতো।


8
এটা বন্ধ হয়ে গেছে। আপনি যদি এখন সাইন আপ করার চেষ্টা করেন আপনি "আপনার আগ্রহের জন্য আপনাকে ধন্যবাদ, দূর্ভাগ্যক্রমে রেসকিউ.জেএস আর সক্রিয়ভাবে কাজ করছে না" বার্তাটি পেয়ে যায়।
ডে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.