Ruby:
লগিং

কিভাবে:

রুবি-তে লগিং এর জন্য একটি নির্মিত মডিউল রয়েছে, Logger, যা ব্যবহার করা অত্যন্ত সহজ। এখানে একটি দ্রুত উদাহরণ দেওয়া হল শুরু করার জন্য:

require 'logger'

# STDOUT এ আউটপুট প্রদানকারী একটি Logger তৈরি করুন
logger = Logger.new(STDOUT)
logger.level = Logger::INFO

# উদাহরণ লগ বার্তাসমূহ
logger.info("This is an info message")
logger.warn("This is a warning message")
logger.error("This is an error message")

উপরের স্ক্রিপ্ট চালানো হলে এর মত কিছু আউটপুট দেখা যাবে:

I, [2023-03-15T10:00:00.123456 #1234]  INFO -- : This is an info message
W, [2023-03-15T10:00:01.234567 #1234]  WARN -- : This is a warning message
E, [2023-03-15T10:00:02.345678 #1234] ERROR -- : This is an error message

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

গভীর ডুব

প্রোগ্রামিংয়ে লগিং একটি প্রাচীন ঐতিহ্যের মতো। ঐতিহাসিকভাবে, লগগুলি সাধারণ টেক্সট ফাইল ছিল, যা grep এর মতো টুল ব্যবহার করে ম্যানুয়ালি পার্স করা হত। কিন্তু ধারণাটি একটি পূর্ণাঙ্গ লগিং ফ্রেমওয়ার্ক এবং সেবাদির একটি পুরো ইকোসিস্টেমে পরিণত হয়েছে, যেমন Log4j, লিনাক্সে Syslog, অথবা ক্লাউড যুগে Sematext এবং Loggly।

রুবির Logger হল শুরু করার জন্য একটি সাদামাটা উপায়, তবে যদি আপনাকে আরও বেশি ঘোড়াশক্তি এবং নমনীয়তা প্রয়োজন হয়, আপনি Lograge বা Semantic Logger এর মতো বিকল্পগুলি দেখতে পারেন। এই লাইব্রেরিগুলি রুবি অ্যাপ্লিকেশনের সাথে ভালো খেলে, লগ ফর্ম্যাটিং নিয়ন্ত্রণের উপর আরও গ্রানুলার নিয়ন্ত্রণ প্রদান করে, যেমন স্ট্রাকচারড লগ (JSON ফর্ম্যাট), ভালো কর্মক্ষমতা, এবং অন্যান্য সার্ভিসের সাথে সহজ ইন্টিগ্রেশন সুবিধা দেয়।

প্রতিটি রুবি লগিং লাইব্রেরির নিজস্ব পদ্ধতি রয়েছে, কিন্তু অন্তর্নিহিতভাবে, তারা সবাই একটি লগার ইনস্ট্যান্সের ধারণার চারপাশে ঘুরপাক খায়, যার কাছে আপনি বার্তা প্রেরণ করেন। লগার এই বার্তাগুলির সাথে নির্ধারিত লেভেলগুলি—DEBUG, INFO, WARN, ERROR, FATAL, এবং UNKNOWN— এর ভিত্তিতে কাজ করে, এবং তারা নিজেরা কীভাবে সাথে আচরণ করবে তা সিদ্ধান্ত নেয়: তাদের প্রিন্ট আউট করে, ফাইলে সংরক্ষণ করে, নেটওয়ার্কের মাধ্যমে প্রেরণ করে, ইত্যাদি।

আরও দেখুন

রুবির নির্মিত লগিং মডিউলের গভীর ডুব নিতে, আধিকারিক ডক্স দেখুন:

যদি আপনি আরও উন্নত লগিং এ আগ্রহী হন অথবা তৃতীয় পক্ষের জেমস অন্বেষণ করতে চান:

সাধারণ লগিং প্র্যাকটিস এবং দর্শন (রুবি-বিশেষ নয়) সম্পর্কে, এই নিবন্ধগুলি চিরকালীন পড়া: