এই লেখাটি নীচের তালিকাভুক্ত বিষয়বস্তু ব্যাখ্যা করে:
- কখন node.js লগ ইন করবেন?
- কোথায় লগিং করা হয়?
- কিভাবে Node.js এ লগিং বাস্তবায়ন করবেন?
- 'console.log()' পদ্ধতি ব্যবহার করে node.js-এ লগিং প্রয়োগ করুন।
- 'console.warn()' পদ্ধতি ব্যবহার করে node.js-এ লগিং করা।
- “console.error()” পদ্ধতি ব্যবহার করে node.js-এ লগিং করা।
- 'console.table()' পদ্ধতি ব্যবহার করে node.js-এ লগ ইন করুন।
- 'ডিবাগ মডিউল' ব্যবহার করে node.js-এ লগিং প্রয়োগ করুন।
- 'উইনস্টন প্যাকেজ' ব্যবহার করে node.js-এ লগ ইন করুন।
কখন node.js লগ ইন করবেন?
নিম্নলিখিত node.js-এ সাধারণ লগিং স্তর রয়েছে:
- তথ্য: কার্য বা আউটপুট যা সুবিন্যস্ত কোড নির্বাহ নিশ্চিত করে।
- সতর্ক করুন: ব্যর্থতা এড়াতে যে ঘটনাগুলি বিবেচনা করা প্রয়োজন।
- ত্রুটি: যে ইভেন্টগুলি কোড এক্সিকিউশনের ব্যর্থতার ফলে।
- ডিবাগ: এই স্তরটি বেশিরভাগ ডেভেলপারদের দ্বারা ব্যবহৃত হয়।
কোথায় লগিং করা হয়?
লগ ইভেন্টগুলি সারিবদ্ধ করা যেতে পারে এবং একাধিক শ্রোতা সারিতে শুনতে এবং যা প্রয়োজন তা লিখতে পারে৷ কোথায় লগ করতে হবে তা চূড়ান্ত করার আগে, এটা জানা উচিত যে লক্ষ্য পদ্ধতি একাধিক লগ বার্তার সাথে মানিয়ে নিতে পারে। নিম্নলিখিত কিছু সাধারণ লগ অবস্থানগুলি রয়েছে:
- stdout
- stderr
- কনসোল
এটি এমন যে মৌলিক ' console.log() ' এবং ' console.info() ' পদ্ধতিতে লগ ' stdout ” তবে ' console.warn() ' এবং ' console.error() ' পদ্ধতিতে লগ ' stderr ” এই পদ্ধতিগুলি কনসোলে আউটপুট প্রদর্শন করে। সামনের প্রান্তে, এটি হবে প্রোগ্রামারের টুল কনসোল।
কিভাবে Node.js এ লগিং বাস্তবায়ন করবেন?
বিভিন্ন পরিস্থিতিতে লগিং করার প্রয়োজনীয়তা বিশ্লেষণ করা সংশ্লিষ্ট লগিং পদ্ধতি বাস্তবায়নের জন্য অত্যন্ত গুরুত্বপূর্ণ। node.js-এ লগ ইন করা নিম্নোক্ত পদ্ধতির মাধ্যমে প্রয়োগ করা যেতে পারে:
- ' console.log() 'পদ্ধতি।
- ' console.warn() 'পদ্ধতি।
- ' console.error() 'পদ্ধতি।
- ' console.table() 'পদ্ধতি।
- ডিবাগ মডিউল।
- উইনস্টন প্যাকেজ।
পদ্ধতি 1: 'console.log()' পদ্ধতি ব্যবহার করে node.js-এ লগিং প্রয়োগ করুন
দ্য ' console.log() ” পদ্ধতি কনসোলে আউটপুট প্রদর্শন করে এবং সময়ে সময়ে কোড কার্যকারিতা পরীক্ষা করার জন্য সহায়ক।
বাক্য গঠন
কনসোল লগ ( মেস )
এই সিনট্যাক্সে, ' মেস ” কনসোলে লেখা বার্তা বোঝায়।
এখন, নীচের প্রদত্ত কোড ব্লকে এগিয়ে যান যা কনসোলে প্রদত্ত বার্তাগুলি লগ করে:
কনসোল লগ ( 'এটি লিনাক্সহিন্ট!' ) ;কনসোল লগ ( 'এটি নোড জেএস!' ) ;
আউটপুট
এই ফলাফল থেকে, এটি বোঝানো যেতে পারে যে বিবৃত বার্তাগুলি কনসোলে যথাযথভাবে প্রদর্শিত হয়৷
পদ্ধতি 2: 'console.warn()' পদ্ধতি ব্যবহার করে node.js-এ লগিং করা
দ্য ' console.warn() ” পদ্ধতি কনসোলে একটি সতর্কতা বার্তা প্রদর্শন করে।
বাক্য গঠন
কনসোল সতর্ক করা ( মেস )প্রদত্ত সিনট্যাক্সে, ' মেস ” কনসোলে প্রদর্শিত বার্তাটি (কাস্টমও) নির্দেশ করে।
এখন, নিম্নলিখিত কোড লাইনের দিকে যান যা 'এর সাহায্যে একটি কাস্টম সতর্কতা বার্তা প্রদর্শন করে console.warn() 'পদ্ধতি:
কনসোল সতর্ক করা ( 'এটি একটি সতর্কতা!' ) ;আউটপুট
যেমন দেখা যায়, নির্দিষ্ট কাস্টম সতর্কতা যথাযথভাবে প্রদর্শিত হয়।
পদ্ধতি 3: “console.error()” পদ্ধতি ব্যবহার করে node.js-এ লগিং করা
এই পদ্ধতি কনসোলে একটি ত্রুটি বার্তা লেখে।
বাক্য গঠন
কনসোল ত্রুটি ( [ তথ্য ] [ ,... যুক্তি ] )এই সিনট্যাক্সে:
- ' তথ্য ' প্রাথমিক বার্তা বোঝায়।
- ' যুক্তি ” মান প্রতিনিধিত্ব করে।
ফেরত মূল্য
এই পদ্ধতিটি একটি ত্রুটি বার্তা পুনরুদ্ধার করে।
কোডের নিম্নলিখিত স্নিপেটের ওভারভিউ যা অসন্তুষ্ট অবস্থায় একটি ত্রুটি বার্তা লগ করে:
এক্স = 150 ;যদি ( এক্স < 100 ) {
কনসোল লগ ( 'যাওয়া ভালো' ) ;
}
অন্য {
কনসোল ত্রুটি ( 'অনুপযুক্ত নম্বর' ) ;
}
এই কোড অনুযায়ী:
- শর্তগুলির জন্য বিশ্লেষণ করার জন্য একটি পূর্ণসংখ্যা শুরু করুন।
- এর পরে, প্রয়োগ করুন ' যদি ' বিবৃতিটি এমন যে যদি প্রাথমিক পূর্ণসংখ্যা '100' এর কম হয় তবে নির্দিষ্ট বার্তাটি প্রদর্শিত হবে।
- অন্যথায়, ' অন্য ' বিবৃতি 'এ ত্রুটি বার্তা চালায়' console.error() 'পদ্ধতি।
আউটপুট
এই আউটপুটটি নিশ্চিত করে যে অসন্তুষ্ট অবস্থায়, কাস্টম ত্রুটি বার্তাটি সেই অনুযায়ী কনসোলে প্রদর্শিত হয়।
পদ্ধতি 4: 'console.table()' পদ্ধতি ব্যবহার করে node.js-এ লগিং প্রয়োগ করুন
এই পদ্ধতিটি কনসোলে একটি টেবিল তৈরি করে এবং প্রদর্শন করে।
বাক্য গঠন
কনসোল টেবিল ( td, tc )এখানে, ' td ' টেবিলের ডেটা উপস্থাপন করে এবং ' tc ” টেবিল কলামের অ্যারে বোঝায়।
এখন, নিচের কোড স্টেটমেন্টের মধ্য দিয়ে যান যা ভিডিও ডাটা টাইপের বরাদ্দকৃত মানগুলির জন্য দুবার আলাদা সূচক বরাদ্দ করে একটি টেবিল তৈরি করে:
কনসোল টেবিল ( [ { এক্স : 10 , ক : 'হ্যারি' } , { এক্স : পনের , ক : 'সঙ্গে' } ] ) ;আউটপুট
পদ্ধতি 5: 'ডিবাগ মডিউল' ব্যবহার করে node.js-এ লগিং প্রয়োগ করুন
এই মডিউলটি ওয়েব মিডলওয়্যারের স্থিতি সম্পর্কিত অতিরিক্ত তথ্য লগ করতে ব্যবহার করা যেতে পারে যেমন, এক্সপ্রেস, কোয়া, ইত্যাদি যখন ব্যাক-এন্ড একটি ইন্টারনেট অনুরোধ পায়। মিডলওয়্যার অনুরোধ পাইপলাইনে রাখা হয়।
লগিং মিডলওয়্যার সেট আপ করার পদ্ধতিগুলি নিম্নরূপ:
উদাহরণ 1: অ্যাপ্লিকেশন থেকে লগিং মিডলওয়্যার সেট আপ করা
দ্য ' app.use() ” ফাংশন নির্দিষ্ট পাথে টার্গেট মিডলওয়্যার ফাংশন মাউন্ট করে।
বাক্য গঠন
অ্যাপ ব্যবহার ( pt, cb )উপরে প্রদত্ত সিনট্যাক্সে:
- ' pt ” সেই পথটিকে বোঝায় যার জন্য মিডলওয়্যার ফাংশনটি আহ্বান করা হবে৷
- ' cb ” মিডলওয়্যার ফাংশন(গুলি) এর সাথে মিলে যায়।
নিম্নলিখিত কোড প্রদর্শনী যা একটি অ্যাপ্লিকেশন এবং আলোচিত পদ্ধতির মাধ্যমে লগিং মিডলওয়্যার সেট আপ করে:
const অ্যাপ = প্রকাশ করা ( )const লগ মিডলওয়্যার = প্রয়োজন ( 'আমার-লগিং-মিডলওয়্যার' )
অ্যাপ ব্যবহার ( লগ মিডলওয়্যার )
এই কোডটিতে, একটি এক্সপ্রেস অ্যাপ্লিকেশন তৈরি করুন এবং অন্তর্ভুক্ত করুন ' আমার-লগিং-মিডলওয়্যার লগিং মিডলওয়্যারের সাথে কাজ শুরু করতে। অবশেষে, প্রয়োগ করুন ' app.use() ” নির্দিষ্ট পথে লক্ষ্য মিডলওয়্যার ফাংশন মাউন্ট করার জন্য ফাংশন।
উদাহরণ 2: রাউটারের মাধ্যমে অ্যাপ্লিকেশন থেকে লগিং মিডলওয়্যার সেট আপ করা
দ্য ' router.use() ” ফাংশন টার্গেট রাউটারের মাধ্যমে পরিবেশিত রুটের জন্য মিডলওয়্যার মাউন্ট করে।
বাক্য গঠন
রাউটার ব্যবহার ( জন্য, func )এই সিনট্যাক্সে:
- ' pt ” মিডলওয়্যার পাথ বোঝায়।
- ' ফাংশন ” কলব্যাক হিসাবে পাস করা ফাংশনের সাথে মিলে যায়।
নীচের উদাহরণটি রাউটার অবজেক্টের সাহায্যে লগিং মিডলওয়্যার সেট আপ করে এবং ' router.use() 'ফাংশন:
const রাউটার = প্রকাশ করা. রাউটার ( )const rtLoggingMiddleware = প্রয়োজন ( 'আমার-রুট-লগিং-মিডলওয়্যার' )
রাউটার ব্যবহার ( rtLoggingMiddleware )
এই কোডে:
- দ্য ' express.Router() ” ফাংশন একটি নতুন রাউটার অবজেক্ট তৈরি করে।
- এর পরে, অন্তর্ভুক্ত করুন ' আমার-রুট-লগিং-মিডলওয়্যার 'এবং একইভাবে, ব্যবহার করুন' router.use() টার্গেট রাউটার দ্বারা পরিবেশিত রুটের জন্য মিডলওয়্যার মাউন্ট করার ফাংশন।
পদ্ধতি 6: 'উইনস্টন প্যাকেজ' ব্যবহার করে node.js-এ লগিং প্রয়োগ করুন
এই বিশেষ প্যাকেজের মধ্যে রয়েছে স্টোরেজ বিকল্প, একাধিক লগ লেভেল, প্রশ্ন এবং একটি প্রোফাইলার। নিম্নলিখিত কোড প্রদর্শনী যা এই পদ্ধতির মাধ্যমে লগিং প্রয়োগ করে:
const এক্স = প্রকাশ করা ( )const অন্তর্ভুক্ত = প্রয়োজন ( 'উইনস্টন' )
const কনসোল ট্রান্সপোর্ট = নতুন অন্তর্ভুক্ত পরিবহন . কনসোল ( )
const নির্বাচন = {
পরিবহন : [ কনসোল ট্রান্সপোর্ট ]
}
const লগার = নতুন অন্তর্ভুক্ত createLogger ( নির্বাচন )
ফাংশন প্রদর্শন অনুরোধ ( req, res, পরবর্তী ) {
লগার তথ্য ( অনুরোধ url )
পরবর্তী ( )
}
এক্স. ব্যবহার ( প্রদর্শন অনুরোধ )
ফাংশন প্রদর্শন ত্রুটি ( err, req, res, পরবর্তী ) {
লগার ত্রুটি ( ভুল )
পরবর্তী ( )
}
এক্স. ব্যবহার ( প্রদর্শন ত্রুটি )
এই কোডে:
- ফিল্টারিং সহ একাধিক পরিবহন সেট আপ করা যেতে পারে এবং কাস্টম ফরম্যাটার সেট করা যেতে পারে।
- এছাড়াও, একাধিক লগার দৃষ্টান্ত বিভিন্ন ফাংশনে নির্দিষ্ট করা হয়েছে যেমন, “ logger.info() ' এবং ' logger.error() ”
- এই লগাররা যথাক্রমে তথ্য এবং ত্রুটি বার্তা প্রদর্শন করে।
- এই কোডে, শুধুমাত্র অনুরোধ করা URLটি লগ করা হয়েছে।
নিচের প্রদত্ত প্যারামিটারগুলি লগারদের দ্বারা নেওয়া হয়:
নাম | ডিফল্ট | বর্ণনা |
বিন্যাস | Winston.format.json | তথ্য বার্তা ফর্ম্যাট |
নীরব | মিথ্যা | সত্য হলে, সমস্ত লগ স্থগিত করা হবে। |
exitOnError | সত্য | মিথ্যা হলে, মোকাবেলা করা ব্যতিক্রমগুলি process.exit ঘটায় না |
স্তর | Winston.config.npm.levels | স্তরগুলি লগ অগ্রাধিকারগুলিকে নির্দেশ করে৷ |
উপসংহার
node.js-এ লগ ইন করা 'এর মাধ্যমে কার্যকর করা যেতে পারে console.log() 'পদ্ধতি, ' console.warn() 'পদ্ধতি, ' console.error() 'পদ্ধতি, ' console.table() 'পদ্ধতি, ' ডিবাগ মডিউল ', অথবা 'এর মাধ্যমে উইনস্টন প্যাকেজ ” কনসোল পদ্ধতি তথ্য এবং ত্রুটি বার্তা প্রদর্শন করে। ডিবাগ মডিউল ওয়েব মিডলওয়্যারের অবস্থা সম্পর্কে অতিরিক্ত তথ্য লগ করে এবং উইনস্টন প্যাকেজে স্টোরেজ বিকল্প এবং বিভিন্ন লগ লেভেল রয়েছে।