awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
gabime avatar

gabime/spdlog

0
View on GitHub↗
28,922 Stars·5,175 Forks·C++·6 Aufrufe

Spdlog

spdlog ist eine leistungsstarke C++-Logging-Bibliothek, die entwickelt wurde, um Diagnosemeldungen und Anwendungsereignisse aufzuzeichnen. Sie dient als asynchrones Logging-Framework und thread-sichere Bibliothek, die den Zugriff über konkurrierende Threads koordiniert, um die Integrität der Meldungen zu wahren.

Das Projekt fungiert als Multi-Target-Log-Router, der einzelne Ereignisse an mehrere Ziele wie Konsolen, Dateien und System-Daemons verteilt. Es enthält einen Log-Rotations-Manager, der Dateilebenszyklen durch einfache, rotierende oder tägliche Rollover-Strategien verwaltet, um eine Erschöpfung des Festplattenspeichers zu verhindern.

Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich benutzerdefinierter Log-Formatierung für benutzerdefinierte Typen und Binärdaten, Erfassung von Quellorten und Verfolgung der Ausführungszeit. Sie bietet auch Observability-Primitive wie die Erfassung von Ereignis-Backtraces mittels Debug-Message-Ring-Buffering und die Möglichkeit, Log-Level über eine externe Laufzeitkonfiguration zu verwalten.

Die Bibliothek ist als Header-only-Distribution verfügbar, um separate Kompilierungsschritte zu eliminieren.

Features

  • Logging Frameworks - Implements a high-performance system for capturing, formatting, and routing application log events asynchronously.
  • Application Logging - Provides a high-performance C++ framework for recording diagnostic messages to consoles, files, and system services.
  • Diagnostic Log Routers - Distributes single log events to multiple destinations such as consoles, files, and system daemons.
  • C++ Logging Libraries - Provides a high-performance C++ logging framework available as either a header-only or compiled library.
  • Thread-Safe Collection Wrappers - Ensures concurrency safety when recording diagnostic information across multiple threads.
  • Asynchronous Event Dispatchers - Offloads logging operations to a background thread pool to prevent blocking the application's main execution flow.
  • Lock-Free Concurrent Queues - Implements a lock-free concurrent queue to offload logging I/O operations to a background worker thread.
  • Thread-Safe Logging - Coordinates concurrent access to logging resources to maintain message integrity and prevent data corruption.
  • Asynchronous Logging - Processes log messages on a background thread pool to prevent logging operations from blocking main execution.
  • Log Rotation Utilities - Includes a manager that automatically rotates log files based on size or time to prevent disk exhaustion.
  • Log Sinks - Distributes log events to multiple destinations like consoles and files through a common pluggable sink interface.
  • Log File Writers - Records diagnostic information to local files using various rollover strategies to manage disk space.
  • Multi-Destination Forwarding - Replicates and sends a single log event to multiple independent storage endpoints simultaneously.
  • Custom Log Writers - Allows the definition of new output destinations by implementing a custom sink interface.
  • Console Log Formatters - Writes formatted and color-coded diagnostic messages directly to standard output or error streams.
  • Header-Only Libraries - Provides a header-only distribution to simplify integration and eliminate the need for separate compilation steps.
  • Source Location Capture - Captures the filename and line number of the call site using macros to provide precise diagnostic context.
  • Custom Log Formatting - Enables the definition of specific layouts and patterns to inject source locations and user-defined types into logs.
  • File Validation Policies - Automatically manages disk space by rotating log files based on size limits or time intervals.
  • Log Layout Customization - Defines the layout of log messages using pattern strings or custom formatters.
  • Log Management - Allows runtime control of log verbosity via environment variables or command-line arguments.
  • Source Location Capture - Records the filename and line number where a log event occurred using macros and compiler flags.
  • Content Format Transformers - Uses pattern strings and type resolution to transform raw data into human-readable formatted text.
  • User-Defined Type Formatters - Provides the ability to define custom formatting logic for rendering complex application objects in log messages.
  • Severity Level Filtering - Controls which messages are recorded based on severity levels that can be modified at compile time or runtime.
  • Contextual Logging - Stores key-value pairs in thread-local storage to automatically append diagnostic context to log entries.
  • Debug Message Ring Buffers - Stores recent debug messages in a ring buffer and flushes them only when explicitly triggered.
  • Runtime Failure Backtrace Capturers - Captures a history of debug messages in a ring buffer to display them on demand after an error occurs.
  • System Logging - Integrates with operating system logging daemons such as syslog or systemd to record diagnostic information.
  • Systemüberwachung - Hochleistungs-C++-Logging-Bibliothek.
  • Developer Tools and Utilities - High-performance logging library.
  • Formatting and Logging - Fast, header-only C++ logging library.
  • Logging Frameworks - Extremely fast C++ logging library.
  • Logging Libraries - Fast and efficient C++ logging library.
  • Logging Utilities - High-performance logging library.
  • Networking and Utilities - Fast logging library.

Star-Verlauf

Star-Verlauf für gabime/spdlogStar-Verlauf für gabime/spdlog

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht gabime/spdlog?

spdlog ist eine leistungsstarke C++-Logging-Bibliothek, die entwickelt wurde, um Diagnosemeldungen und Anwendungsereignisse aufzuzeichnen. Sie dient als asynchrones Logging-Framework und thread-sichere Bibliothek, die den Zugriff über konkurrierende Threads koordiniert, um die Integrität der Meldungen zu wahren.

Was sind die Hauptfunktionen von gabime/spdlog?

Die Hauptfunktionen von gabime/spdlog sind: Logging Frameworks, Application Logging, Diagnostic Log Routers, C++ Logging Libraries, Thread-Safe Collection Wrappers, Asynchronous Event Dispatchers, Lock-Free Concurrent Queues, Thread-Safe Logging.

Welche Open-Source-Alternativen gibt es zu gabime/spdlog?

Open-Source-Alternativen zu gabime/spdlog sind unter anderem: easylogging/easyloggingpp — Easyloggingpp is a header-only C++ logging framework and diagnostic tool designed for recording system events and… amrayn/easyloggingpp — Easyloggingpp is a C++ logging library and thread-safe logging framework used for recording diagnostic messages and… winstonjs/winston — Winston is a versatile logging library for Node.js designed to record system events and metadata. It functions as a… cocoalumberjack/cocoalumberjack — CocoaLumberjack is a logging framework designed for Apple platforms, providing a system for capturing, filtering, and… sirupsen/logrus — Logrus is a structured logging library for Go that produces machine-readable output using key-value pairs and JSON… orhanobut/logger — This Android logging library is a toolkit for printing formatted, stylized, and filtered debug messages to the Android…

Open-Source-Alternativen zu Spdlog

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Spdlog.
  • easylogging/easyloggingppAvatar von easylogging

    easylogging/easyloggingpp

    3,938Auf GitHub ansehen↗

    Easyloggingpp is a header-only C++ logging framework and diagnostic tool designed for recording system events and diagnostic messages. It functions as a thread-safe logging library that synchronizes access across multiple concurrent execution threads to prevent data corruption during event recording. The framework features an asynchronous logger that processes messages on a background thread to minimize latency and prevent blocking the main application. It also acts as a log dispatcher, capable of routing data to local files, system syslog facilities, or remote network destinations for system

    C++
    Auf GitHub ansehen↗3,938
  • amrayn/easyloggingppAvatar von amrayn

    amrayn/easyloggingpp

    3,937Auf GitHub ansehen↗

    Easyloggingpp is a C++ logging library and thread-safe logging framework used for recording diagnostic messages and application events. It functions as an asynchronous logger, processing messages on a background thread to reduce latency and prevent blocking the main execution path. The project includes a log rotation manager to automatically truncate or roll over files once they reach a specified disk size limit. It also serves as a performance tracking tool for measuring function execution timing and recording checkpoints to identify processing bottlenecks. The library covers a broad range

    C++
    Auf GitHub ansehen↗3,937
  • winstonjs/winstonAvatar von winstonjs

    winstonjs/winston

    24,478Auf GitHub ansehen↗

    Winston is a versatile logging library for Node.js designed to record system events and metadata. It functions as a multi-transport log manager that routes data to various destinations and a structured log formatter that transforms entries into JSON or plain text. The project is distinguished by its pluggable transport architecture, which decouples the logging interface from delivery mechanisms. This allows for the creation of custom transport extensions and the use of hierarchical logger instances to inherit configurations while attaching persistent metadata to downstream messages. The libr

    JavaScript
    Auf GitHub ansehen↗24,478
  • cocoalumberjack/cocoalumberjackAvatar von CocoaLumberjack

    CocoaLumberjack/CocoaLumberjack

    13,327Auf GitHub ansehen↗

    CocoaLumberjack is a logging framework designed for Apple platforms, providing a system for capturing, filtering, and managing diagnostic messages within mobile and desktop applications. It serves as a tool for monitoring software health and troubleshooting runtime issues by recording application events across various severity levels. The framework utilizes a modular architecture that allows developers to define custom log levels and route diagnostic output to multiple concurrent destinations, including the system console, local files, and remote servers. It incorporates an asynchronous pipel

    Objective-Ccarthagecocoalumberjackcocoapods
    Auf GitHub ansehen↗13,327
  • Alle 30 Alternativen zu Spdlog anzeigen→