30 open-source projects similar to apache/logging-log4j2, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Logging Log4j2 alternative.
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
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
structlog is a structured logging library for Python that treats log entries as dictionaries instead of strings. This data-centric approach enables machine-readable output and precise data analysis by generating log entries as key-value pairs. It functions as both a standalone logging framework and a compatibility layer that adds structured capabilities to the Python standard library logging module. The library features a processor-pipeline architecture that passes log dictionaries through a sequence of functions to modify events or add metadata before final rendering. It includes a contextua
Seneca is a message-driven architecture framework and microservices toolkit for Node.js. It functions as a distributed task orchestrator and pattern-based message router, allowing developers to build systems of decoupled services that communicate via a message bus. The framework distinguishes itself through a modular plugin system that organizes business logic into reusable, configurable modules. It supports dynamic action extensions, enabling new handlers to wrap or override existing action patterns to inject custom logic without modifying original code. The system covers a broad range of c
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Loguru is a Python logging library and thread-safe framework designed for recording system events and diagnostic messages. It functions as a structured logging tool that can serialize messages into JSON strings with metadata for automated parsing and analysis. The library includes a specialized exception tracker that captures unhandled crashes across main and background threads, rendering detailed stack traces that include local variable values. It further distinguishes itself through a unified routing pipeline that can intercept messages from the standard library logging module and dispatch
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
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
Consola is a JavaScript logging library and pluggable framework that provides a cross-platform console wrapper. It enables unified output formatting and stream wrapping across both web browser and Node.js terminal environments. The project distinguishes itself through a pluggable reporter system and the ability to intercept global system output, routing standard console and system streams through centralized logging handlers. It provides utilities for creating visually enhanced command line interfaces with support for tags and severity levels. The framework covers wide-ranging observability
This project is a standardized specification for logging APIs in PHP. It defines a common logging interface and a set of severity levels to ensure ecosystem-wide compatibility between different logging implementations. The project focuses on PHP library interoperability by providing a vendor-neutral interface. This allows various software packages to record application events consistently without being tied to a specific logging vendor, adhering to the PSR-3 implementation standard. The specification covers architectural primitives for logging abstractions, including implementation-agnostic
Consola is a diagnostic logging utility and log output manager that provides a unified interface for Node.js and web browser environments. It functions as a scoped logging framework and a tool for capturing user text, confirmations, and selections through interactive console prompts. The project distinguishes itself through a system for creating specialized logger instances with inherited defaults and unique tags for contextual tracking. It also features a pluggable reporter interface that allows for the redirection of standard output to custom logging destinations and external reporters. Th
This project is a specialized browser debugging interface designed to monitor DOM elements, network traffic, and JavaScript execution. It provides a client-side user interface for inspecting and debugging web applications, allowing for the real-time modification of CSS styles and the investigation of the JavaScript runtime. The toolkit includes dedicated analysis tools for WebAssembly, featuring disassembly highlighting, scope inspection, and binary execution profiling. It also provides a network traffic inspector for analyzing HTTP requests and a CSS style editor for testing properties and a
Pulse is an Apple platform network logger used for recording and inspecting network traffic and system logs directly within applications. It functions as an on-device network inspector and traffic export tool, allowing for the capture of outgoing requests and the transmission of logs to external systems. The project includes a remote log streamer for the real-time transmission of device logs to an external viewer for live monitoring. It further provides an integrated interface for viewing recorded network requests and system logs on the device without the requirement of an external proxy. Th
Acra is an Android crash reporting framework and diagnostic data collector designed to detect failures and capture device diagnostics, system logs, and application state. It serves as an embeddable library for capturing and processing crash reports, providing a pipeline to send this data to custom backends or via email. The project features a plugin-based sender architecture that allows reports to be routed through HTTP endpoints, email clients, or proprietary backend implementations. It includes a user-controlled reporting system with preference toggles and interactive dialogs to manage user
Boto3 is the AWS SDK for Python, providing a programmatic interface for managing and automating AWS cloud infrastructure and services. It serves as a cloud management API client and resource manager for provisioning, configuring, and scaling virtual servers, databases, and storage. The library enables the implementation of infrastructure-as-code through declarative templates and scripts, allowing for the deployment of identical resource stacks across multiple accounts and geographic regions. It also provides a framework for coordinating distributed workflows, serverless functions, and contain
swift-log is a standardized logging API and abstract logging layer for Swift applications and libraries. It provides a unified interface for emitting log messages, decoupling the act of recording events from the specific storage or display implementation. The system functions as a logging backend interface, allowing log output to be routed to custom third-party destinations through the implementation of pluggable handlers. This framework focuses on Swift application observability and logging standardization, ensuring a consistent set of requirements for recording system behavior across diffe
HyperDX is an OpenTelemetry observability platform that provides centralized log management, distributed tracing, and a self-hosted monitoring stack. It functions as a unified system for collecting, indexing, and visualizing logs, metrics, and traces from cloud and container environments. The platform distinguishes itself with specialized tooling for large language model monitoring and session replay, allowing user interactions in the browser to be linked to backend telemetry. It employs schema-less JSON parsing to index structured logs dynamically and uses source maps to resolve minified sta
This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro
POCO is a comprehensive C++ application framework that provides a cross-platform set of libraries for building network-centric applications. It offers a unified abstraction layer that wraps platform-specific APIs, enabling the same code to run across desktop, server, mobile, IoT, and embedded systems. The framework is organized into modular libraries that can be compiled and linked selectively, allowing developers to include only the components their application needs. The framework distinguishes itself through its broad coverage of application infrastructure needs, including threading and sy
This project is an OpenTelemetry reference implementation and distributed microservices environment used to demonstrate the collection and export of traces, metrics, and logs. It serves as a telemetry pipeline showcase and a polyglot instrumentation example, providing a sandbox for practicing distributed tracing and monitoring within a Kubernetes cluster. The system features a polyglot architecture to demonstrate consistent, vendor-neutral telemetry implementation across multiple programming languages. It includes a simulated environment for testing telemetry interoperability and troubleshoot
This project is a JavaScript error tracking SDK and application performance monitoring tool. It captures runtime exceptions and crashes across web browsers, server-side environments, and edge computing contexts. The SDK includes a session replay tool that records visual user interactions to reproduce bugs. To ensure telemetry delivery, it provides a tunneling proxy that routes monitoring data through custom endpoints to bypass browser-level ad blockers. The toolkit also features a source map processor that translates minified stack traces back into original source code. Additionally, it cove
This Android logging library is a toolkit for printing formatted, stylized, and filtered debug messages to the Android console and local files. It functions as a console log styler, a log file writer, and a formatter for converting complex data into human-readable text. The library provides specific utilities for customizing the visual appearance of logs by tracking thread information and call depth. It includes capabilities for converting JSON, XML, and collection data into readable formats and saving console entries to local files for offline analysis. The system covers broader log managem
Badjs-report is a client-side JavaScript library designed to capture, manage, and report runtime exceptions and telemetry data from web applications to a remote server. It functions as a diagnostic framework that automatically intercepts global errors and wraps asynchronous operations to ensure that issues are tracked without requiring manual instrumentation throughout the codebase. The library distinguishes itself through its focus on traffic optimization and data reliability. It employs deduplication logic to suppress redundant error reports and applies probabilistic sampling to manage the
This project is a microservice framework for building scalable backend systems in Go. It provides an architecture for distributed systems with integrated support for service discovery, load balancing, and fault-tolerance mechanisms. The framework distinguishes itself through a domain-driven layered architecture and a remote-first configuration system that synchronizes settings between remote stores and local files with automatic failover. It implements a high-performance communication model using gRPC for unary and streaming data exchange, as well as real-time notification systems for managin
CouchPotatoServer is an automated movie downloader and media collection manager. It functions as a background service that monitors watchlists and automatically acquires new movie releases via BitTorrent or Usenet. The project acts as a plugin-based orchestrator that coordinates file discovery and download requests across different binary protocols. It employs an event-driven pipeline to manage the full lifecycle of a media file, from initial discovery on indexers to final placement in local storage. The system manages home media libraries through relational database tracking and pattern-bas
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
Mitsuba is a physically based rendering engine that calculates realistic light interactions to produce accurate synthetic images using both biased and unbiased numerical integration techniques. It is designed for computer graphics research and supports interactive three-dimensional scene inspection through a graphical interface that provides progressive real-time previewing, refining images iteratively when movement stops. The system features a plugin-based architecture that dynamically loads modular components at runtime to incorporate custom materials, light sources, and complete rendering
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
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