নোড.জেএস কনসোল.লগ বনাম কনসোল.ইনফো


92

console.logবনাম ব্যবহার করে কী লাভ console.info? বা অন্য কোন কনসোল এই বিষয়ে আদেশ দেয়?

console.info("info");
console.error("error");
console.warn("warn");

বনাম

console.log("log");

আমি ভেবেছিলাম এটি আউটপুটটির রঙ পরিবর্তন করতে পারে বা কোনও ধরণের লেবেলকে একত্রিত করতে পারে তবে তারা সকলেই একই কাজ করবে বলে মনে হয়। এবং এখানে ডকুমেন্টেশন অনুযায়ী:

https://nodejs.org/api/console.html#console_console_info_data

তারা সবার মতো একই কাজ করে বলে মনে হচ্ছে console.log



4
কিছু টিপস: আপনি আরও ভাল দেখতে রঙগুলি ব্যবহার করতে পারেন: কনসোল.লগ ('% সি নমুনা পাঠ্য', 'রঙ: সবুজ;'); অথবা পাঠ্যটিতে কিছু ভিএআর যুক্ত করুন: কনসোল.লগ (`নমুনা $ {ভেরিয়েবল}`, 'রঙ: সবুজ;');
গিলবার্তো বি। টেরা জুনিয়র

ধন্যবাদ, আমি জানতাম না এটি নোড

উত্তর:


81

ডকুমেন্টেশন মতে আপনি যে লিঙ্ক করা হলে, console.errorএবং console.warnআউটপুট stderr। অন্যদের আউটপুট stdout

আপনি যদি পাইপিং করছেন বা node.jsপার্থক্য থেকে পুনর্নির্দেশ গুরুত্বপূর্ণ।

ব্রাউজার এবং এ দুটিতে চালানোর জন্য প্রচুর জাভাস্ক্রিপ্ট লেখা আছে Node.js। নোড পূর্ণাঙ্গ কনসোল প্রয়োগ করে বৃহত্তর কোড ক্রস-সামঞ্জস্যের অনুমতি দেয়।

বেশিরভাগ ব্রাউজারগুলিতে, এই লগগুলি কেবল বিভিন্ন বর্ণের মধ্যেই নয়, আপনি নির্দিষ্ট বার্তাগুলি দেখতে ফিল্টারও করতে পারেন।

console.info("info");
console.error("error");
console.warn("warn");
console.log("log");

ধন্যবাদ! এটি ব্রাউজার যেখানে এটি আলাদাভাবে প্রদর্শিত হয়। আমি রঙ পরিবর্তন জন্য টার্মিনাল খুঁজছিলাম।
সেনটম্বুর্ক

4
ইন node( 8.11.4) এবং Chrome 67, এর রয়েছে console.debug(এবং খুব সম্ভবত পাশাপাশি পূর্ববর্তী সংস্করণে)। debugনীচে অবস্থিত log
মার্কাস জুনিয়াস ব্রুটাস

41

console.log() এর চেয়ে কম console.info()

তারা একই জিনিস, এবং এটিই একমাত্র সুবিধা।

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


65
আমি ডাউনভিট করেছি কারণ "এটিই একমাত্র সুবিধা" কেবল সত্য নয় এবং যথেষ্ট সংক্ষিপ্ত আলোকিত। পদ্ধতিগুলির ঠিক একই বাস্তবায়ন থাকতে পারে তবে তাদের আলাদা অর্থ রয়েছে । কনসোল আপনাকে উদাহরণস্বরূপ তুচ্ছভাবে লগ স্তরের ফিল্টারিং প্রয়োগ করতে দেয়।
রিক্সো

4
console.log = stdout, whilst console.error = stderr
ক্রেগ ওয়েন


4
@ এডওয়ার্ডসামুটআলেসি আমি ক্রোম ব্যবহার করছি এবং পুনরায় তৈরি করতে এবং আইকনটি উপস্থিত হতে সক্ষম
হচ্ছিলাম না

একটি ডেটাপয়েন্ট: ফায়ারফক্স: 78: log.info আউটপুট আগে প্রিন্ট i (আমি বৃত্তে)। ক্রোম 84: হয় না।
টম হুন্ড

34

যদিও console.logএবং console.infoএটি আলাদা নাও হতে পারে, কেবল রঙ করা ছাড়াও অন্যান্য ব্যবহার রয়েছে। উদাহরণস্বরূপ, এসিলিন্টের মতো লিন্টার ব্যবহার করার সময়, আপনি console.logএকটি সতর্কতা বার্তা সরবরাহ করতে সেট করতে পারেন । আসুন আমরা বলি যে আপনি কেবল console.logআপনার বিকাশের উদ্দেশ্যে এবং console.infoতথ্যের জন্য ব্যবহার করতে চান যা শেষ ব্যবহারকারীদের প্রয়োজন হতে পারে। একটি রেখার সাহায্যে আপনার এখন আপনার অস্থায়ীর দৃশ্যমান এবং প্রত্যক্ষ অনুস্মারক রয়েছে console.logযা আপনাকে উন্নয়নের সময় সহায়তা করে তবে কমিট / প্রকাশের আগে অবশ্যই তা অপসারণ করতে হবে।


4
আমি কেন জানি না কেন আমি এই উত্তরটি আরও যথাযথ বলে মনে করি তবে অন্য সকল, খুব সুন্দর @ ফিজিডন।
শ্রেয়ান মেহতা

4
আমি একমত ডেভ এবং প্রোডাকশন মোডের জন্য এসলিন্ট সহ ব্যবহার করার দুর্দান্ত সমাধান। আপনি কনসোল.লগ পাস করবেন না! (হাতে স্টাফ এবং তরোয়াল)
টমাস ভ্যানকোইলি

26

ডক্স অনুসারে এটি বেশ পরিষ্কার।

console.info ([তথ্য], [...]) # কনসোল.লগ হিসাবে একই।

কনসোল.অরর ([ডেটা], [...]) # কনসোল.লগ হিসাবে একই তবে স্টাডারকে প্রিন্ট করে।

কনসোল.ওয়ার্ন ([তথ্য], [...]) # কনসোল.অরর হিসাবে একই।

এর অর্থ কোনও লাভ বা খারাপ দিক নেই। info== log, এবং warn== error। যতক্ষণ না আপনি প্রিন্ট করতে চান stderr, infoএবং বা logকাজ করবে।


23

দৃশ্যরূপে, কোন পার্থক্য মধ্যে আসলে console.log, console.info, console.warn, সেইসাথে console.errorসংক্রান্ত সার্ভার প্রান্তের (টার্মিনাল)

যাইহোক, আছে লাইটওয়েট মডিউল যে যোগ নীল, কমলা এবং লাল রং জন্য console.info, console.warnপাশাপাশি console.errorযথাক্রমে। এটির দ্বারা, কনসোল এপিআই ক্লায়েন্ট-সাইডের মতো আচরণ করে।

 npm i console-info console-warn console-error --save-dev;

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


9

গৃহীত উত্তর ছাড়াও আরও একটি বিশদ: ক্রোম এবং ফায়ারফক্সে console.infoলাইনগুলি লাইন না থাকা অবস্থায় সামান্য আই আইকন সহ উপস্থাপিত হয় console.logwarnএবং errorরেখাগুলি যথাক্রমে একটি সামান্য ত্রিভুজ এবং এক্স দিয়ে উপস্থাপিত হয়।


অন্য কোথাও পর্যবেক্ষণ করা হয়েছে: ফায়ারফক্স 78 78: লগ.ইন.আউটপুট আউটপুটের আগে ⓘ (আমি বৃত্তে আছি) প্রিন্ট করে। ক্রোম 84: হয় না
টম হুন্ড

3

stdin ব্যবহারকারীর কাছ থেকে ইনপুট পড়ার জন্য একটি পাঠযোগ্য স্ট্রিম।

স্টাডআউট একটি লিখনযোগ্য স্ট্রিম, হয় সিঙ্ক্রোনোলজিক বা অ্যাসিক্রোনার্যালি।

stderr ত্রুটি বার্তাগুলির জন্য উদ্দেশ্যে একটি ব্লক করা সিঙ্ক্রোনাস লিখনযোগ্য স্ট্রিম।

স্টাডআউট বা নন-ব্লকিং ফাংশনগুলি হ'ল: কনসোল.লগ, কনসোল.ইনফো, ইউস.পুটস, ইউপ.প্রিন্ট এবং স্টার্ডার।

ব্লক করা functons আছেন: console.warn, console.error, util.debug এবং process.stdin (ব্যবহারকারীর ইনপুট পাওয়ার জন্য একটি পাঠযোগ্য প্রবাহ)।


1

এটি প্রতিষ্ঠিত হয়েছে যে লগ এবং তথ্য মূলত একই জিনিস, তবে আমি নিশ্চিত নই যে এই প্রশ্নের পুরোপুরি উত্তর দিয়েছে:

কনসোল.লগ বনাম কনসোল.ইনফো ব্যবহার করে কী লাভ?

ইতিমধ্যে উল্লিখিত হয়েছে ব্যতীত একটি সুবিধা হ'ল আপনি কি প্রতিটি আলাদা উদ্দেশ্যে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি কেবল কনসোলে জিনিসগুলি দ্রুত ডিবাগ করার জন্য এবং স্পিট করার জন্য কনসোল.লগ ব্যবহার করতে পারেন, যখন আপনি নিজের কোডটিতে কনসোলে আউটপুট নিতে চান এমন স্থায়ী বার্তাগুলির জন্য কনসোল.ইনফো ব্যবহার করতে পারেন যেমন বর্তমান অ্যাপের স্থিতির তথ্য হিসাবে information । তারপরে যখন আপনার কোনও পরিস্থিতি যখন আপনার কনসোলে একটি এলোমেলো জিনিস মুদ্রিত হয় এবং আপনি বুঝতে পারেন যে আপনি কোনও লগ স্টেটমেন্টটি দুর্ঘটনাক্রমে কোথাও রেখে গেছেন, আপনি 'কনসোল.লগ' এর জন্য একটি বিশ্বব্যাপী অনুসন্ধান করতে পারেন এবং প্রতিটি উদাহরণ মুছতে পারেন এবং আত্মবিশ্বাস রাখতে পারেন আপনি সেখানে রেখে যেতে চেয়েছিলেন এমন গুরুত্বপূর্ণ কিছু আপনি মুছে ফেলেন নি।


0

বিভিন্ন লগিং স্তরগুলি আপনাকে আপনার কনসোলে শব্দের মাত্রা পরিচালনা করতে দেয়: ফায়ারফক্স (আমি এই মুহূর্তে 78 Chrome ব্যবহার করছি) এবং ক্রোম ()৪) ডেভলগুলিতে, জেএস কনসোল আপনাকে আউটপুটটির "ডিবাগ স্তর" বেছে নিতে দেয় দেখা. মুক্তিযোদ্ধা আপনি দৃশ্যমানতা টগল করতে দেয় console.error, .warn, .log, .info, এবং .debugপ্রত্যেকের জন্য পৃথক বোতাম (যে আপনি দেখাতে কত দমন করা হয় যখন "বন্ধ"), যেহেতু Chrome পরের আইটেম checkmarks সঙ্গে একটি ড্রপডাউন আছে (ক্লিক করে বার্তা .infoএবং .logদ্বারা নিয়ন্ত্রিত হয় "তথ্য" এক, এবং .debug"ভারবোজ" দ্বারা)। যদি আউটপুট চাপা থাকে তবে Chrome ড্রপডাউন লেবেল ("সমস্ত স্তর" বা আপনি যা সেট করুন) লাল হয়ে যায়।


0

আমি দেখেছি console.logডিবাগিংয়ের জন্য অস্থায়ীভাবে রাষ্ট্রের তথ্যে লগিংয়ের জন্য।

console.info আরও স্থায়ী জিনিস - যেমন কোন পোর্টে কোনটি চালু রয়েছে তা বলা এবং আপনি ডিবাগিংয়ের পরে কোনও কিছু কাটাবেন না।

এটি আপনার কোডটি প্রতিশ্রুতিবদ্ধ করার জন্য এটি পরিষ্কার করা সহজ করে তোলে। কনসোল.লগকে প্রতিশ্রুতিবদ্ধ হওয়া থেকে রোধ করার জন্য আপনার লিটারের একটি বিধিও থাকতে পারে।

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