इस प्रोजेक्ट के बारे में
# 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 या कॉपीराइट धारक से व्यावसायिक लाइसेंस उपलब्ध है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.