কিভাবে Node.js এ লগিং বাস্তবায়ন করবেন

Kibhabe Node Js E Lagim Bastabayana Karabena



' লগিং 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() 'পদ্ধতি, ' ডিবাগ মডিউল ', অথবা 'এর মাধ্যমে উইনস্টন প্যাকেজ ” কনসোল পদ্ধতি তথ্য এবং ত্রুটি বার্তা প্রদর্শন করে। ডিবাগ মডিউল ওয়েব মিডলওয়্যারের অবস্থা সম্পর্কে অতিরিক্ত তথ্য লগ করে এবং উইনস্টন প্যাকেজে স্টোরেজ বিকল্প এবং বিভিন্ন লগ লেভেল রয়েছে।