javascript - জাভাস্ক্রিপ্ট: আমি কিভাবে ত্রুটি কনসোল একটি বার্তা প্রিন্ট করবেন?



debugging (12)

Es6 সিনট্যাক্স দিয়ে আপনি ব্যবহার করতে পারেন:

console.log(`x = ${x}`);

https://code.i-harness.com

আমি কিভাবে ত্রুটি কনসোল একটি বার্তা প্রিন্ট করতে পারেন, বিশেষত একটি পরিবর্তনশীল সহ?

উদাহরণস্বরূপ, কিছু ভালো:

print('x=%d', x);

আপনার প্রশ্নের উত্তর দিতে আপনি ES6 বৈশিষ্ট্য ব্যবহার করতে পারেন,

var var=10;
console.log(`var=${var}`);

আপনি যদি Firebug ব্যবহার করেন এবং IE, Safari বা অপেরা সমর্থন করতে চান তবে ফায়ারবগ লাইট এই ব্রাউজারগুলিতে console.log () সমর্থন যোগ করে।


আসলে প্রশ্নের উত্তর দিতে:

console.error('An error occurred!');
console.error('An error occurred! ', 'My variable = ', myVar);
console.error('An error occurred! ' + 'My variable = ' + myVar);

ত্রুটি পরিবর্তে, আপনি তথ্য, লগ বা সতর্কতা ব্যবহার করতে পারেন।


এটি কনসোলে মুদ্রণ করে না, তবে আপনার ডেবগিংয়ের জন্য এটি আপনার বার্তা সহ একটি সতর্কতা পপআপ খুলবে:

শুধু কর:

alert("message");

এটি করার সবচেয়ে সহজ উপায় হল:

console.warn("Text to print on console");

ব্যতিক্রমসমূহ জাভাস্ক্রিপ্ট কনসোল লগ ইন করা হয়। আপনি যদি Firebug অক্ষম রাখতে চান তবে এটি ব্যবহার করতে পারেন।

function log(msg) {
    setTimeout(function() {
        throw new Error(msg);
    }, 0);
}

ব্যবহার:

log('Hello World');
log('another message');

ব্রাউজারের ত্রুটির কনসোলে কোনও বার্তাটি কীভাবে মুদ্রণ করবেন তা ডিবাগার কনসোলের আক্ষরিক প্রশ্নটির সমাধান এখানে নেই। (ডিবাগার বাইপাস করার জন্য ভাল কারণ হতে পারে।)

ত্রুটির কনসোলে একটি বার্তা পেতে একটি ত্রুটি নিক্ষেপ করার পরামর্শ সম্পর্কে মন্তব্য হিসাবে আমি মনে করি, একটি সমস্যা হচ্ছে এটি কার্যকর করার থ্রেডকে বাধা দেবে। আপনি যদি থ্রেডটিকে বিঘ্নিত করতে না চান, তবে আপনি ত্রুটিটি পৃথক থ্রেডে ফেলে দিতে পারেন, সেটটি টাইমআউট ব্যবহার করে তৈরি করা হয়েছে। অতএব আমার সমাধান (যা আইভো ড্যানিয়েল্কা দ্বারা একটিকে সম্প্রসারিত করে):

var startTime = (new Date()).getTime();
function logError(msg)
{
  var milliseconds = (new Date()).getTime() - startTime;
  window.setTimeout(function () {
    throw( new Error(milliseconds + ': ' + msg, "") );
  });
}
logError('testing');

আমি শুরু সময় থেকে মিলিসেকেন্ডে সময়টি অন্তর্ভুক্ত করেছি কারণ সময়সীমাটি আপনি যাতে বার্তাগুলি দেখতে প্রত্যাশা করতে পারেন সেটি বাতিল করতে পারে।

ত্রুটি পদ্ধতিতে দ্বিতীয় যুক্তিটি ফাইল নামের জন্য, যা নিরর্থক ফাইলনাম এবং লাইন নম্বরের আউটপুট রোধ করতে এখানে একটি খালি স্ট্রিং। কলার ফাংশনটি পাওয়া সম্ভব কিন্তু সহজ ব্রাউজারে স্বাধীন ভাবে নয়।

আমরা যদি ত্রুটি আইকনের পরিবর্তে একটি সতর্কতা বা বার্তা আইকন সহ বার্তাটি প্রদর্শন করতে পারি তবে এটি চমৎকার হবে, তবে আমি এটি করার উপায় খুঁজে পাচ্ছি না।

নিক্ষেপের সাথে আরেকটি সমস্যা হল যে এটি ধরা যায় এবং একটি বন্ধ চেষ্টা-ধরা দ্বারা নিক্ষেপ করা যেতে পারে, এবং একটি পৃথক থ্রেড মধ্যে নিক্ষেপ নির্বাণ যে বাধা বাধা দেয়। যাইহোক, আরেকটি উপায় রয়েছে যা ত্রুটি ধরা পড়তে পারে, যা উইন্ডোটি যদি হয়। সন্ত্রাস হ্যান্ডলারটি এমন একটির সাথে প্রতিস্থাপিত হয় যা কিছু ভিন্ন করে। সেখানে আপনি সাহায্য করতে পারেন না।


সর্বদা হিসাবে, ইন্টারনেট এক্সপ্লোরার হল rollerskates এ বড় হাতি যা আপনাকে কেবল console.log() ব্যবহার করে থামিয়ে দেয়।

jQuery এর লগ বেশ সহজেই অভিযোজিত করা যেতে পারে, কিন্তু ব্যথা এটি সর্বত্র যুক্ত করতে হয়। আপনি যদি jQuery ব্যবহার করছেন তবে এক সমাধান এটি আপনার জাভাস্ক্রিপ্ট ফাইলে শেষ করতে হবে, প্রথমে minified:

function log()
{
    if (arguments.length > 0)
    {
        // Join for graceful degregation
        var args = (arguments.length > 1) ? Array.prototype.join.call(arguments, " ") : arguments[0];

        // This is the standard; Firebug and newer WebKit browsers support this.
        try {
            console.log(args);
            return true;
        } catch(e) {
            // Newer Opera browsers support posting erros to their consoles.
            try {
                opera.postError(args);
                return true;
            } 
            catch(e) 
            {
            }
        }

        // Catch all; a good old alert box.
        alert(args);
        return false;
    }
}

Firebug ইনস্টল করুন এবং তারপরে আপনি console.log(...) এবং console.debug(...) , ইত্যাদি ব্যবহার করতে পারেন। (আরও তথ্যের জন্য ডকুমেন্টেশন দেখুন)।


function foo() {
  function bar() {
    console.trace("Tracing is Done here");
  }
  bar();
}

foo();

console.log(console); //to print console object
console.clear('console.clear'); //to clear console
console.log('console.log'); //to print log message
console.info('console.info'); //to print log message 
console.debug('console.debug'); //to debug message
console.warn('console.warn'); //to print Warning
console.error('console.error'); //to print Error
console.table(["car", "fruits", "color"]);//to print data in table structure
console.assert('console.assert'); //to print Error
console.dir({"name":"test"});//to print object
console.dirxml({"name":"test"});//to print object as xml formate

To Print Error:- console.error('x=%d', x);

console.log("This is the outer level");
console.group();
console.log("Level 2");
console.group();
console.log("Level 3");
console.warn("More of level 3");
console.groupEnd();
console.log("Back to level 2");
console.groupEnd();
console.log("Back to the outer level");


console.error(message); //gives you the red errormessage
console.log(message); //gives the default message
console.warn(message); //gives the warn message with the exclamation mark in front of it
console.info(message); //gives an info message with an 'i' in front of the message

আপনি আপনার লগিং বার্তাগুলিতে CSS যোগ করতে পারেন:

console.log('%c My message here', "background: blue; color: black; padding-left:10px;");





debugging