awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
easylogging avatar

easylogging/easyloggingppArchived

0
View on GitHub↗
3,938 stars·945 forks·C++·MIT·21 views

Easyloggingpp

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 monitoring.

The toolset covers a broad range of observability capabilities, including stack trace capture, crash log handling, and execution time tracking for performance profiling. It provides management utilities for size-based file rotation, custom log layouts, and severity-level filtering, alongside support for serializing complex types and user-defined objects.

Features

  • C++ Logging Libraries - Provides a high-performance, header-only C++ library specifically designed for diagnostic event recording.
  • Thread-Safe Logging - Ensures multiple threads can log simultaneously without data corruption using synchronization mechanisms.
  • C++ Diagnostic Utilities - Provides a comprehensive set of tools for capturing stack traces, measuring execution time, and recording system errors.
  • Asynchronous Processing - Provides mechanisms to offload log event processing to background threads to minimize application latency.
  • Multi-Threaded Synchronization Primitives - Implements mutexes and synchronization primitives to ensure thread-safe access to shared logging state.
  • Thread-Safe Logging Frameworks - Ships a logging system that ensures data integrity across concurrent threads using synchronization primitives.
  • Application Event Recording - Captures and writes runtime diagnostic messages and system events using configurable formats and severity levels.
  • Asynchronous Logging - Processes log entries on a background thread to minimize latency and prevent blocking the main application.
  • Severity Level Filtering - Filters log output based on predefined severity levels to discard low-priority entries.
  • Log Rotation Utilities - Automatically archives or deletes log files when they reach a predefined size limit to maintain disk space.
  • Logging Configurations - Defines logging rules, file paths, and output destinations using configuration files or programmatic setup.
  • Logging Verbosity Controls - Controls the level of detail in logs using severity levels and fine-grained overrides.
  • Complex Data Serialization - Provides serialization support for non-primitive data types, custom classes, and containers within the log stream.
  • Log File Rotators - Manages log file lifecycles by rotating files when they reach predefined size limits.
  • Log Formatting - Uses C++ variadic templates to provide type-safe log messages and custom object serialization.
  • Conditional Logging - Allows recording log entries only when specific boolean expressions are true to reduce noise.
  • Custom Object Logging - Allows recording of user-defined classes through loggable interfaces or type wrappers.
  • Function Execution Timing - Tracks the duration of functions and code blocks to identify and analyze performance bottlenecks.
  • Log Layout Customization - Defines the visual arrangement and structure of log messages using custom specifiers.
  • Log Entry Filters - Implements predicate-based logic to determine if a log entry should be emitted based on runtime conditions.
  • Variadic Formatting - Provides type-safe log messages using a universal value specifier and a printf-like syntax.
  • Log Message Routing - Dispatches log events from a generic API to specific handler implementations based on registration.
  • Multi-Destination Log Routings - Routes log data to multiple configurable destinations including local files, syslog, and remote network endpoints.
  • Independent Logger Instances - Creates and manages isolated logger instances to organize different event streams.
  • Log Output Formatting - Controls the appearance and structure of log entries to meet specific readability or reporting requirements.
  • Log Sinks - Supports pluggable output destinations via custom callbacks to route log events to various backends.
  • Stack Trace Capturers - Records the current sequence of method calls to identify the exact cause of a logging event.
  • Remote Application Logging - Provides frameworks for streaming application logs to central monitoring interfaces or remote network destinations.
  • Application Crash Logging - Intercepts critical system signals to capture software failure data and write crash logs for troubleshooting.
  • Custom Log Writers - Implements custom writers to intercept and route diagnostic messages to external destinations.
  • Performance Profilers - Measures function execution time and records checkpoints to identify performance bottlenecks.
  • Logging Libraries - Header-only C++ logging library.

Star history

Star history chart for easylogging/easyloggingppStar history chart for easylogging/easyloggingpp

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Easyloggingpp

These projects share indexed features with Easyloggingpp. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • amrayn/easyloggingppamrayn avatar

    amrayn/easyloggingpp

    3,937View on GitHub↗

    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++
    View on GitHub↗3,937
  • abumq/easyloggingppabumq avatar

    abumq/easyloggingpp

    3,937View on GitHub↗

    This project is a thread-safe, asynchronous logging library designed for C++ applications. It provides a comprehensive diagnostic toolkit that enables developers to record system events, track execution flow across multiple threads, and manage log output through severity-based filtering and automated file maintenance. By offloading log formatting and disk input/output to background worker threads, the library minimizes latency on the main execution path, ensuring high performance in time-critical systems. The framework distinguishes itself through its flexible configuration and diagnostic cap

    C++c-plus-plusc-plus-plus-11cpp
    View on GitHub↗3,937
  • gabime/spdloggabime avatar

    gabime/spdlog

    28,922View on GitHub↗

    spdlog is a high-performance C++ logging library designed to record diagnostic messages and application events. It serves as an asynchronous logging framework and thread-safe library that coordinates access across concurrent threads to maintain message integrity. The project functions as a multi-target log router, distributing single events to multiple destinations such as consoles, files, and system daemons. It includes a log rotation manager that handles file lifecycles through basic, rotating, or daily rollover strategies to prevent disk exhaustion. The library covers a broad range of cap

    C++cppcpp11header-only
    View on GitHub↗28,922
  • qos-ch/logbackqos-ch avatar

    qos-ch/logback

    3,211View on GitHub↗

    Logback is a Java logging framework used to record system events and diagnostic messages through a programmable API. It serves as a concrete implementation of the Simple Logging Facade for Java (SLF4J) and provides a structured logging engine for outputting events in machine-readable formats like JSON. The system distinguishes itself through an asynchronous log processor that utilizes circular queues and background workers to reduce performance overhead. It also features a log file rotation manager for size-based or time-based rollover with automatic compression, and the ability to update log

    Java
    View on GitHub↗3,211
Compare all 30 related projects→

Frequently asked questions

What does easylogging/easyloggingpp do?

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.

What are the main features of easylogging/easyloggingpp?

The main features of easylogging/easyloggingpp are: C++ Logging Libraries, Thread-Safe Logging, C++ Diagnostic Utilities, Asynchronous Processing, Multi-Threaded Synchronization Primitives, Thread-Safe Logging Frameworks, Application Event Recording, Asynchronous Logging.

Which projects share features with easylogging/easyloggingpp?

Projects with overlapping indexed features include: amrayn/easyloggingpp — Easyloggingpp is a C++ logging library and thread-safe logging framework used for recording diagnostic messages and… abumq/easyloggingpp — This project is a thread-safe, asynchronous logging library designed for C++ applications. It provides a comprehensive… gabime/spdlog — spdlog is a high-performance C++ logging library designed to record diagnostic messages and application events. It… qos-ch/logback — Logback is a Java logging framework used to record system events and diagnostic messages through a programmable API.… winstonjs/winston — Winston is a versatile logging library for Node.js designed to record system events and metadata. It functions as a… delgan/loguru — Loguru is a Python logging library and thread-safe framework designed for recording system events and diagnostic…