প্রকল্প সম্পর্কে
StormByte Logger হলো একটি C++26 লগিং লাইব্রেরি যা StormByte সুইটের অংশ হিসেবে ডিজাইন করা হয়েছে। এটি একাধিক লগ লেভেল (LowLevel, Debug, Warning, Notice, Info, Error, Fatal) সমর্থনসহ একটি স্ট্রিম-ভিত্তিক লগিং ইন্টারফেস প্রদান করে। এই লাইব্রেরিটি লেভেল (%L), টাইমস্ট্যাম্প (%T), থ্রেড আইডি (%i) এবং লিটারেল % (%%)-এর জন্য ফরম্যাট স্পেসিফায়ার ব্যবহার করে কাস্টমাইজযোগ্য লগ হেডার ব্যবহারের সুযোগ দেয়।
এতে হিউম্যান-রিডেবল নম্বর ফরম্যাটিং (humanreadable_number, humanreadable_bytes) এবং রিডাকশনের (redact, redact_first, no_redact) জন্য ম্যানিপুলেটর অন্তর্ভুক্ত রয়েছে। রিডাকশন টেক্সট এবং নম্বর উভয়ের ক্ষেত্রেই প্রযোজ্য, যেখানে প্রথম বা শেষ Nটি অক্ষর রাখার বিকল্প রয়েছে। এই ম্যানিপুলেটরগুলোর স্টেট পরিবর্তন না করা পর্যন্ত অপরিবর্তিত থাকে।
লাইব্রেরিটি দুটি প্রধান লগিং ক্লাস অফার করে: Log (সিঙ্গেল-থ্রেডেড) এবং ThreadedLog (থ্রেড-সেফ, যা প্রতি লজিক্যাল লাইনের জন্য একটি লক ব্যবহার করে এবং প্রিন্ট লেভেলের নিচের মেসেজগুলোর জন্য লক এড়িয়ে চলে)। মনে রাখবেন: সাধারণ Log থ্রেড-সেফ নয়; মাল্টি-থ্রেডেড এনভায়রনমেন্টের জন্য ThreadedLog ব্যবহার করতে হবে। এর জন্য StormByte Base এবং একটি C++26 কম্পাইলার প্রয়োজন।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.