যখনই আমরা একটি সফ্টওয়্যার তৈরি করি এবং এটি চালাই, তখন কিছু ত্রুটি বা ব্যতিক্রম দেখা দিতে পারে যা সফ্টওয়্যারটির স্বাভাবিক সম্পাদনকে বাধাগ্রস্ত করে। লগিং আমাদেরকে একটি সফ্টওয়্যার চালানোর সময় ঘটে যাওয়া ইভেন্টগুলির ট্র্যাক রাখতে সাহায্য করে। লগিং সাধারণত সফ্টওয়্যার উন্নয়ন প্রক্রিয়া বিশেষ করে ডিবাগিং এবং চলমান দরকারী. যদি আমাদের কোনো লগিং সুবিধা না থাকে, এবং আমাদের প্রোগ্রাম ক্র্যাশ হয়ে যায়, তাহলে সমস্যার কারণ চিহ্নিত করা আমাদের জন্য খুবই কঠিন হবে৷ আমরা ছোট প্রোগ্রামগুলিতে সমস্যাটি বের করতে সক্ষম হতে পারি কিন্তু বাস্তব জগতে জটিল প্রোগ্রাম রয়েছে, তাই ম্যানুয়ালি সমস্যাগুলি বের করা প্রায় অসম্ভব। যদি সম্ভব হয়, এটা অনেক সময় সাপেক্ষ।
পাইথনে আমাদের ব্যবহারের জন্য একটি অন্তর্নির্মিত লগিং মডিউল রয়েছে যা আমাদের এই সমস্যার সমাধান করে। লগিং একটি খুব দরকারী টুল. এটি আমাদের প্রোগ্রামের প্রবাহ সম্পর্কে আরও ভালভাবে বুঝতে সাহায্য করে এবং আমাদেরকে সেই সমস্যা বা পরিস্থিতি সম্পর্কে অবহিত করে যা আমরা প্রক্রিয়াটি বিকাশ করার সময় চিন্তা করিনি৷
লগিং মডিউল
পাইথনের লগিং মডিউলটি আমাদের ব্যবহারের জন্য প্রস্তুত রয়েছে। আমাদের কেবল এটিকে আমাদের প্রোগ্রামগুলিতে আমদানি করতে হবে, যা নীচে দেখানো হয়েছে
import logging
লগিং মডিউল আমাদেরকে একটি ফাইল বা অন্যান্য আউটপুট স্ট্রীমে স্ট্যাটাস মেসেজ লিখতে সাহায্য করে। ফাইলটিতে কোডের কোন অংশটি কার্যকর করা হয়েছে এবং কোন সমস্যা দেখা দিয়েছে সহ অন্যান্য তথ্য থাকতে পারে৷
লগিং মডিউলের সাহায্যে, আমরা যে বার্তাগুলি দেখতে চাই তা লগ করার জন্য আমরা "লগার" ব্যবহার করতে পারি। ডিফল্টরূপে, লগ বার্তাগুলির 5টি স্তর রয়েছে যা ঘটনাগুলির তীব্রতাকে চিত্রিত করে৷
নিম্নোক্ত ক্রমবর্ধমান তীব্রতার 5টি স্তর।
-
ডিবাগ - এটি বিস্তারিত তথ্য দিতে ব্যবহৃত হয়; সমস্যা নির্ণয় করার সময় এটি ব্যবহার করা হয়।
-
তথ্য − জিনিসগুলি আশানুরূপ সঠিকভাবে কাজ করছে তা নিশ্চিত করতে ব্যবহৃত হয়৷
-
সতর্কতা − নাম অনুসারে, এটি এমন কিছু বার্তা দিতে ব্যবহৃত হয় যা ভবিষ্যতে সমস্যা সৃষ্টি করতে পারে এমন একটি সমস্যা সম্পর্কে আমাদের অবহিত করে৷
-
ত্রুটি − একটি ত্রুটি বার্তা দিতে ব্যবহৃত হয়, যে অ্যাপ্লিকেশন বা সফ্টওয়্যারটি কিছু কার্য সম্পাদন করতে ব্যর্থ হয়েছে৷
৷ -
সমালোচনামূলক - এটি একটি গুরুতর সমস্যার কথা জানায় যা নির্দেশ করে যে প্রোগ্রামটি সম্পাদন করা বন্ধ করতে পারে৷
৷
লগিং মডিউল আমাদের একটি ডিফল্ট লগার সরবরাহ করে, যা আমাদেরকে অনেক কনফিগারেশন ছাড়াই এগিয়ে যেতে দেয়৷
উদাহরণ
import logging logging.debug('This is a debug message') logging.info('This is an info message') logging.warning('This is a warning message') logging.error('This is an error message') logging.critical('This is a critical message')
আউটপুট
WARNING:root:This is a warning message ERROR:root:This is an error message CRITICAL:root:This is a critical message
দ্রষ্টব্য: তথ্য() এবং ডিবাগ() বার্তা লোড হয় না। এর কারণ ডিফল্টরূপে, লগার তীব্রতা সতর্কতা এবং উচ্চতর বার্তা লোড করে। তাই আপনার যদি সমস্ত তীব্রতার লগ বার্তা লোড করার প্রয়োজন হয়, তাহলে আপনাকে লগারটিকে ম্যানুয়ালি কনফিগার করতে হবে৷