इस प्रोजेक्ट के बारे में

# StormByte Logger StormByte Logger, StormByte C++ सूट के लिए एक स्ट्रीमिंग लॉगर है, जो C++26 और CMake 3.28+ के लिए बनाया गया है। यह `Log` फ़साड प्रदान करता है जिसमें `operator<<` स्ट्रीमिंग, गंभीरता स्तर, अनुकूलन योग्य हेडर, थ्रेड-लोकल कंपोनेंट, समूह, ANSI रंग, रिडैक्शन, हेक्स डंप, मानव-पठनीय संख्याएँ, और एक थ्रेड-सुरक्षित `ThreadedLog` वेरिएंट शामिल हैं। ## मुख्य विशेषताएँ - **स्तर**: `LowLevel` से `Fatal` तक क्रमबद्ध; `Warning`, `Error`, और `Fatal` हमेशा उत्सर्जित होते हैं। - **हेडर**: `%L` (स्तर), `%T` (टाइमस्टैम्प), `%i` (थ्रेड आईडी), `%c` (कंपोनेंट पथ), `%g` (समूह) जैसे टोकन प्रारूपित करें। - **कंपोनेंट**: पदानुक्रमित पथों के लिए थ्रेड-लोकल स्टैक (जैसे, `Multimedia/Decoder`)। - **स्कोप**: उन लाइब्रेरीज़ के लिए स्टिकी-पथ फ़साड जो TLS स्टैक मैनिपुलेशन से बचती हैं। - **समूह**: न्यूलाइन द्वारा साफ़ किए गए लाइन-स्कोप्ड लेबल। - **रंग**: प्रति स्तर या कंपोनेंट पथ के लिए ANSI रंग, डिफ़ॉल्ट रूप से अक्षम। - **प्रारूप**: स्थायी सामान्य/कंपोनेंट प्रारूप और नेस्टेड अस्थायी प्रारूप। - **रिडैक्शन**: पहले/अंतिम N अक्षर रखें या पूरी तरह मास्क करें। - **हेक्स/बाइनरी**: टेक्स्ट हेक्स डंप और बाइनरी पेलोड के लिए Base64/HexDump। - **ThreadedLog**: प्रति तार्किक पंक्ति एक लॉक; एन्कोडिंग लॉक करने से पहले होती है। ## उपयोग उदाहरण ```cpp #include <StormByte/logger/log.hxx> #include <StormByte/logger/threaded_log.hxx> using namespace StormByte::Logger; Log log(std::cout, Level::Info, "[%L] %T"); log << Level::Info << "hello" << std::endl; auto tlog = std::make_shared<ThreadedLog>(std::cout, Level::Debug, "[%L] %T"); tlog << Level::Notice << "opened source" << std::endl; ``` ## इंस्टॉलेशन C++26 कंपाइलर, CMake 3.28+, और StormByte-String 1.0.0+ (जो StormByte Base 2.0.0+ को वेंडर करता है) की आवश्यकता है। ```sh git clone --recursive https://github.com/StormBytePP/StormByte-Logger.git cd StormByte-Logger cmake -S . -B build cmake --build build ``` ## लाइसेंस LGPL v3 या कॉपीराइट धारक से व्यावसायिक लाइसेंस उपलब्ध है।