Sobre el proyecto
# StormByte Logger
StormByte Logger es un logger de streaming para la suite C++ StormByte, diseñado para C++26 y CMake 3.28+. Proporciona una fachada `Log` con streaming mediante `operator<<`, niveles de severidad, encabezados personalizables, componentes thread-local, grupos, colores ANSI, redacción, volcados hexadecimales, números legibles por humanos y una variante `ThreadedLog` segura para hilos.
## Características clave
- **Niveles**: Ordenados desde `LowLevel` hasta `Fatal`; `Warning`, `Error` y `Fatal` siempre se emiten.
- **Encabezados**: Tokens de formato como `%L` (nivel), `%T` (marca de tiempo), `%i` (id de hilo), `%c` (ruta de componente), `%g` (grupo).
- **Componentes**: Pila thread-local para rutas jerárquicas (por ejemplo, `Multimedia/Decoder`).
- **Scope**: Fachadas de ruta fija para bibliotecas que evitan la manipulación de la pila TLS.
- **Grupos**: Etiquetas con alcance de línea que se borran con el salto de línea.
- **Colores**: Colores ANSI por nivel o ruta de componente, desactivados por defecto.
- **Formatos**: Formatos persistentes generales/por componente más formatos temporales anidados.
- **Redacción**: Conservar los primeros/últimos N caracteres o enmascarar por completo.
- **Hex/Binario**: Volcados hexadecimales de texto y Base64/HexDump para cargas binarias.
- **ThreadedLog**: Un bloqueo por línea lógica; la codificación ocurre antes del bloqueo.
## Ejemplo de uso
```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;
```
## Instalación
Requiere un compilador C++26, CMake 3.28+ y StormByte-String 1.0.0+ (que incluye 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
```
## Licencia
LGPL v3 o licencia comercial disponible a través del titular de los derechos de autor.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.