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
amrayn avatar

amrayn/easyloggingppArchived

0
View on GitHub↗
3,937 stars·945 forks·C++·MIT·19 views

Easyloggingpp

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 of observability capabilities, including data formatting for complex types and custom classes, signal-driven crash handling for stack trace capture, and log routing to custom sinks or system loggers. It provides filtering mechanisms based on severity levels and boolean conditions, as well as configuration utilities for managing named logger instances and shared logging state.

Features

  • C++ Logging Libraries - Provides a high-performance C++ logging library for recording diagnostic messages and application events.
  • Application Event Recording - Records diagnostic messages and application events using severity levels to track software behavior.
  • Low Latency Logging - Processes log entries on a separate thread to minimize performance overhead and avoid blocking the main execution.
  • Asynchronous Processing - Implements asynchronous processing to offload log events to background threads and minimize application latency.
  • Thread-Safe Logging - Provides synchronization mechanisms to ensure multiple threads can log simultaneously without data corruption.
  • Thread-Safe Logging Frameworks - Provides a thread-safe logging framework that synchronizes concurrent write operations to prevent data corruption.
  • Asynchronous Log Processing - Processes log entries on a background thread to minimize latency and avoid blocking the main application execution.
  • Log File Rotation - Automatically rolls over or truncates log files when they reach a specified disk size limit to prevent disk exhaustion.
  • Log Rotation Utilities - Provides utilities to manage disk space by automatically splitting or archiving log files based on size.
  • Log Sinks - Dispatches log data to external destinations via custom callbacks and pluggable output targets.
  • Complex Type Converters - Converts containers, custom classes, and third-party objects into human-readable strings for logging.
  • Diagnostic Data Capture - Captures stack traces and records complex data types from STL containers or custom classes to diagnose failures.
  • Stack Trace Capture - Records the call stack during logging events to provide execution context for debugging.
  • Execution Timing Tools - Provides a diagnostic utility for measuring execution time and recording performance checkpoints.
  • Crash State Capturing - Intercepts system signals to record the current call stack and application state before the process terminates.
  • Conditional Logging - Provides conditional logging that evaluates logical expressions at the call site to determine if entries should be recorded.
  • Custom Log Formatting - Allows definition of custom layouts and specifiers for timestamps and source locations in log output.
  • Custom Object Logging - Records user-defined classes and third-party types via logging interfaces or wrappers.
  • Function Execution Timing - Measures the elapsed time of specific code blocks to identify performance bottlenecks.
  • Global Logging Configurations - Coordinates a single logging configuration across shared libraries and applications to ensure consistent behavior.
  • Log Layout Customization - Defines the visual arrangement and structure of log messages using customizable patterns.
  • Variadic Formatting - Uses variadic templates for type-safe argument handling and printf-style message formatting.
  • Application Performance Monitoring - Includes performance tracking tools to measure execution time of code blocks and identify processing bottlenecks.
  • Severity Level Filtering - Filters log output based on severity levels or command-line arguments to activate diagnostic tiers.
  • Independent Logger Instances - Provides isolated logger instances identified by unique functional names to separate log streams.
  • Logger Registries - Maintains a centralized map of logger instances to provide isolated log streams identified by unique functional names.
  • Logging Configurations - Provides systems for defining logging rules, file paths, and output targets programmatically or via configuration.
  • Logging Verbosity Controls - Manages high-verbosity diagnostic information that can be toggled by level or restricted to specific modules.
  • Application Crash Logging - Intercepts system signals to capture crash details and stack traces before process termination.
  • Logging Frameworks - Lightweight logging library for C++11 and above.
  • Logging Utilities - Single-header logging library.

Star history

Star history chart for amrayn/easyloggingppStar history chart for amrayn/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

Frequently asked questions

What does amrayn/easyloggingpp do?

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.

What are the main features of amrayn/easyloggingpp?

The main features of amrayn/easyloggingpp are: C++ Logging Libraries, Application Event Recording, Low Latency Logging, Asynchronous Processing, Thread-Safe Logging, Thread-Safe Logging Frameworks, Asynchronous Log Processing, Log File Rotation.

Which projects share features with amrayn/easyloggingpp?

Projects with overlapping indexed features include: easylogging/easyloggingpp — Easyloggingpp is a header-only C++ logging framework and diagnostic tool designed for recording system events 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.… delgan/loguru — Loguru is a Python logging library and thread-safe framework designed for recording system events and diagnostic… klauscfhq/signale — Signale is a formatted console logging library for Node.js applications. It serves as a pluggable logging framework…

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.
  • easylogging/easyloggingppeasylogging avatar

    easylogging/easyloggingpp

    3,938View on GitHub↗

    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++
    View on GitHub↗3,938
  • 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→