इस प्रोजेक्ट के बारे में
spdlog एक उच्च-प्रदर्शन C++ लॉगिंग लाइब्रेरी है जिसे गति, लचीलेपन और उपयोग में आसानी के लिए डिज़ाइन किया गया है। इसे हेडर-ओन्ली लाइब्रेरी के रूप में इस्तेमाल किया जा सकता है या तेज़ बिल्ड समय के लिए संकलित किया जा सकता है, जिसके लिए केवल C++11 कंपाइलर की आवश्यकता होती है। लाइब्रेरी fmt फ़ॉर्मेटिंग लाइब्रेरी के ऊपर बनाई गई है, जो पोज़िशनल आर्गुमेंट्स, पैडिंग, संरेखण और कस्टम टाइप फ़ॉर्मेटर्स के समर्थन के साथ फीचर-संपन्न आउटपुट फ़ॉर्मेटिंग प्रदान करती है।
मुख्य विशेषताओं में सिंक्रोनस और एसिंक्रोनस लॉगिंग मोड, मल्टी-थ्रेडेड और सिंगल-थ्रेडेड लॉगर्स, और लॉग टारगेट्स की व्यापक श्रृंखला शामिल है जैसे रोटेटिंग लॉग फ़ाइलें, दैनिक लॉग फ़ाइलें, कलर सपोर्ट के साथ कंसोल आउटपुट, syslog, Windows इवेंट लॉग, Windows डीबगर आउटपुट, और Qt विजेट्स। अतिरिक्त टारगेट्स के लिए लाइब्रेरी का विस्तार करने हेतु कस्टम सिंक लागू किए जा सकते हैं। लॉग स्तरों को रनटाइम या कंपाइल समय पर फ़िल्टर किया जा सकता है, और स्तरों को पर्यावरण चर या कमांड-लाइन तर्कों से लोड किया जा सकता है।
लाइब्रेरी बैकट्रेस कार्यक्षमता का समर्थन करती है, जहाँ डीबग संदेशों को रिंग बफर में संग्रहीत किया जाता है और आवश्यकता पड़ने पर डंप किया जा सकता है—यह त्रुटि होने पर हालिया डीबग आउटपुट प्रदर्शित करने के लिए उपयोगी है। अतिरिक्त उपयोगिताओं में पंजीकृत लॉगर्स का आवधिक फ्लशिंग, समय मापन के लिए स्टॉपवॉच समर्थन, हेक्साडेसिमल प्रारूप में बाइनरी डेटा लॉगिंग, थ्रेड-लोकल की-वैल्यू जोड़ों के लिए मैप्ड डायग्नोस्टिक कॉन्टेक्स्ट (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-bit पर Intel i7-4770 CPU के साथ बेंचमार्क से पता चलता है कि बेसिक लॉगिंग के लिए सिंक्रोनस सिंगल-थ्रेड थ्रूपुट लगभग 5.7 मिलियन संदेश प्रति सेकंड है, जबकि एसिंक्रोनस मोड में ओवररन नीति के साथ 10-थ्रेड प्रतिस्पर्धा में 2.6 मिलियन संदेश प्रति सेकंड तक प्राप्त होता है। दस्तावेज़ीकरण प्रोजेक्ट विकी में उपलब्ध है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.