প্রকল্প সম্পর্কে

spdlog একটি উচ্চ-পারফরম্যান্স C++ লগিং লাইব্রেরি যা গতি, নমনীয়তা এবং ব্যবহারের সহজতার জন্য ডিজাইন করা হয়েছে। এটি হেডার-অনলি লাইব্রেরি হিসেবে ব্যবহার করা যেতে পারে অথবা দ্রুত বিল্ড সময়ের জন্য কম্পাইল করা যেতে পারে, শুধুমাত্র একটি C++11 কম্পাইলার প্রয়োজন। লাইব্রেরিটি fmt ফরম্যাটিং লাইব্রেরির উপর ভিত্তি করে তৈরি, যা অবস্থানগত আর্গুমেন্ট, প্যাডিং, সারিবদ্ধকরণ এবং কাস্টম টাইপ ফরম্যাটারের সমর্থনসহ বৈশিষ্ট্যসমৃদ্ধ আউটপুট ফরম্যাটিং প্রদান করে। মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস লগিং মোড, মাল্টি-থ্রেডেড এবং সিঙ্গেল-থ্রেডেড লগার, এবং ঘূর্ণায়মান লগ ফাইল, দৈনিক লগ ফাইল, কালার সমর্থনসহ কনসোল আউটপুট, syslog, উইন্ডোজ ইভেন্ট লগ, উইন্ডোজ ডিবাগার আউটপুট এবং Qt উইজেটের মতো বিস্তৃত লগ টার্গেট। অতিরিক্ত টার্গেটে লাইব্রেরি প্রসারিত করতে কাস্টম সিংক (sink) বাস্তবায়ন করা যেতে পারে। লগ লেভেল রানটাইম বা কম্পাইল টাইমে ফিল্টার করা যেতে পারে এবং লেভেল পরিবেশ পরিবর্তনশীল বা কমান্ড-লাইন আর্গুমেন্ট থেকে লোড করা যেতে পারে। লাইব্রেরিটি ব্যাকট্রেস কার্যকারিতা সমর্থন করে, যেখানে ডিবাগ বার্তাগুলি একটি রিং বাফারে সংরক্ষণ করা হয় এবং প্রয়োজন অনুযায়ী ডাম্প করা যায়—ত্রুটি ঘটলে সাম্প্রতিক ডিবাগ আউটপুট প্রদর্শনের জন্য উপযোগী। অতিরিক্ত ইউটিলিটিগুলির মধ্যে রয়েছে নিবন্ধিত লগারগুলির পর্যায়ক্রমিক ফ্লাশিং, সময় পরিমাপের জন্য স্টপওয়াচ সমর্থন, হেক্সাডেসিমেল ফরম্যাটে বাইনারি ডেটা লগিং, থ্রেড-স্থানীয় কী-ভ্যালু জোড়ার জন্য ম্যাপড ডায়াগনস্টিক কনটেক্সট (MDC), এবং লগ ইভেন্টের জন্য ব্যবহারকারী-সংজ্ঞায়িত কলব্যাক। কাস্টম এরর হ্যান্ডলার এবং ফাইল খোলা/বন্ধ ইভেন্ট হ্যান্ডলার লগিং আচরণের উপর আরও নিয়ন্ত্রণ প্রদান করে। spdlog ক্রস-প্ল্যাটফর্ম, Linux, FreeBSD, OpenBSD, Solaris, AIX, Windows (MSVC 2013+, Cygwin), macOS (Clang 3.5+), এবং Android সমর্থন করে। এটি apt, Homebrew, MacPorts, FreeBSD pkg, dnf, emerge, pacman, zypper, vcpkg, conan, conda এবং build2 সহ অসংখ্য প্যাকেজ ম্যানেজারের মাধ্যমে উপলব্ধ। Ubuntu 64-বিট এবং Intel i7-4770 CPU সহ বেঞ্চমার্কে মৌলিক লগিংয়ের জন্য সিঙ্ক্রোনাস সিঙ্গেল-থ্রেড থ্রুপুট প্রায় 5.7 মিলিয়ন বার্তা প্রতি সেকেন্ড দেখায়, যেখানে অ্যাসিঙ্ক্রোনাস মোড ওভাররান নীতির অধীনে 10-থ্রেড প্রতিযোগিতায় প্রতি সেকেন্ডে 2.6 মিলিয়ন বার্তা পর্যন্ত অর্জন করে। প্রকল্প উইকিতে ডকুমেন্টেশন উপলব্ধ।