30 open-source projects similar to apple/swift-log, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Swift Log alternative.
Monolog is a logging library that implements the PSR-3 standard to ensure interoperable log handling across PHP applications. It provides a standardized interface for managing log records, allowing the logging system to remain replaceable across different libraries and frameworks. The library features a routing engine that distributes log messages to multiple destinations, including files, sockets, databases, and external web services. It enables severity-based routing and integration with third-party cloud platforms, messaging apps, and email services for centralized log management. To supp
XCGLogger is a logging framework for Swift applications designed to capture events and system state for debugging and troubleshooting. It automatically includes metadata such as timestamps, line numbers, function names, and filenames in every log entry. The framework minimizes CPU overhead through deferred string evaluation, which delays expensive interpolation until the active log level is verified. To prevent blocking the main execution thread during I/O tasks, it utilizes an asynchronous log router that offloads writing operations to background queues. The system supports multi-destinatio
This project establishes a collection of interoperability standards for the PHP ecosystem. It defines common technical specifications to ensure that separate software projects and libraries can work together without compatibility issues. The standards cover a variety of core domains, including specifications for class autoloading through namespace-to-path mapping, shared coding style guides for codebase uniformity, and common component interfaces for services such as logging and caching. It also defines shared specifications for network communication to ensure consistent interactions between
SwiftyBeaver is an extensible logging framework for Swift that routes log output to multiple destinations simultaneously, including the Xcode console, local files, and remote cloud services. It supports recording messages at distinct severity levels with corresponding visual styling, and can attach arbitrary contextual data such as numbers, arrays, or dictionaries to log entries without requiring manual string conversion. The framework distinguishes itself through destination-based log routing, where each output target can have its own independent format and filter configuration managed by a
This project provides a lightweight logging facade for Rust applications, serving as a standardized interface for recording diagnostic messages. By decoupling application code from specific logging backends, it allows developers to maintain a consistent diagnostic surface while remaining independent of the underlying implementation. The framework enables the attachment of structured key-value metadata to log records, providing additional context that facilitates more granular filtering and analysis of application events. Its core design is built to be minimal, ensuring compatibility with reso
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
EasyLogger is a lightweight C/C++ logging library and asynchronous framework designed for embedded systems, IoT devices, and wearables. It functions as a resource-efficient logger and flash memory manager, providing tools for low-level debugging and system event recording with minimal ROM and RAM requirements. The project distinguishes itself through an asynchronous logging model that buffers messages to a separate thread, preventing logging operations from blocking real-time application execution. It includes a specialized flash memory manager that utilizes circular buffering to persist logs
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 logging framework for Java environments, providing a standardized interface for capturing diagnostic application events and maintaining persistent audit trails. It functions as an enterprise-grade logging engine designed to handle high-throughput applications while managing complex diagnostic data. The framework distinguishes itself through a modular provider architecture that allows for the dynamic swapping of logging implementations and output destinations. It utilizes a hierarchical configuration system that enables granular control over logging behavior, supported by plu
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
kotlin-logging is a logging facade for Kotlin that provides a unified API and a multiplatform logging interface. It functions as a wrapper for various backend frameworks, including SLF4J, to enable consistent event recording across different JVM and Kotlin Multiplatform targets. The library centers on lazy message evaluation, which prevents expensive string construction unless the specific log level is active. This is achieved through a lazy-evaluated logger that computes messages only when the current severity level permits. The project supports structured application logging with metadata
This project is a Go programming language study guide and backend development course. It provides a collection of learning notes and practical examples covering fundamental syntax and core language concepts. The repository functions as a tutorial for building web APIs and network services. It includes implementation guides for the Gin web framework and code demonstrations for creating remote procedure call services using Protocol Buffers. The material covers backend API engineering, including routing, data binding, and error handling. It also includes examples of structured logging and custo
Hutool is a comprehensive suite of Java extensions designed to serve as a standard library extension. Its primary purpose is to reduce development boilerplate for common programming tasks and data manipulation through a collection of utility classes. The project provides specialized toolkits for database management using active record patterns and connection pooling, as well as network communication via a simplified HTTP client and asynchronous socket management. It includes security and identity capabilities such as symmetric and asymmetric encryption, image captcha generation, and JWT token
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
Logspout is a container log aggregator, forwarder, and routing engine designed to gather logs from Docker containers and route them to centralized external logging systems. It functions as a network-based utility that pipes container output to remote destinations such as syslog or TCP endpoints. The system features a dynamic routing engine that allows the creation and updating of log routing configurations and destination filters in real time via an HTTP interface without restarting the service. It utilizes an adapter-based architecture, enabling the development of custom output modules and t
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
Glidejs is a lightweight, dependency-free JavaScript library for creating sliders and carousels. It functions as a standalone UI component and content slider that supports ES6. The library uses a modular architecture, allowing for the extension of core logic through a plugin system to implement specialized features and custom behaviors. The project provides capabilities for implementing web carousels and interactive sliding interfaces. It integrates sliding content displays into webpages without the use of external libraries or frameworks.
Ofelia is a recurring job scheduler designed to run commands inside Docker containers or directly on the host system using a defined timetable. It functions as a configuration engine that reads job schedules and commands from container labels, a concurrency guard to prevent overlapping task executions, and a log router for reporting job outcomes. The system distinguishes itself by using a label-based configuration model, allowing job schedules and execution logic to be defined within container metadata rather than external configuration files. It employs a lock-based concurrency control mecha
NLog is an open-source logging framework for .NET that functions as a structured logging library and log routing engine. It captures log events with named parameters as searchable data rather than plain text and directs these messages to various output destinations based on severity and source. The framework is designed as an extensible platform, supporting custom targets, layout renderers, and filters that can be loaded from external assemblies or defined in code. It features a dynamic configuration system that allows logging targets, rules, and layouts to be updated via XML or programmatic
Pytube is a Python library and command line interface for downloading videos, playlists, and captions from YouTube. It functions as both a programmatic tool for metadata extraction and a standalone media downloader. The project is designed using only the Python standard library to avoid external package dependencies. It utilizes regular expression-based HTML parsing to extract stream URLs and asset details directly from the platform. The library supports retrieving video metadata and thumbnails, as well as extracting caption tracks. It provides capabilities for downloading entire playlists a
Timber is an extensible logging framework and wrapper for Android applications. It provides an interface that extends the standard Android logging class to enable customizable output destinations and routing logic. The system uses a tree-based dispatch model and a plugin system to direct log messages to multiple external handlers. This allows for custom log routing to external services or files based on the current environment or specific criteria. The project includes tools for monitoring and observability, specifically a performance validator that analyzes logging calls to detect inefficie
This library is a portable, header-only engine designed for calculating the geometric positions and dimensions of nested rectangular elements. It provides a recursive stacking-box model to determine interface coordinates, serving as a lightweight solution for two-dimensional layout calculations in C99 or C++ environments. The engine distinguishes itself through its focus on portability and resource efficiency. It utilizes a dependency-free memory abstraction that allows developers to override default allocation and assertion routines, making it suitable for specialized or restricted computing
This project is a collection of native directives designed to implement the Bootstrap component framework within Angular applications. It provides a suite of modular interface elements that allow developers to build interactive web components without requiring external JavaScript dependencies. The library distinguishes itself by using a dependency-free logic layer that relies entirely on native framework primitives. It features a specialized service-based positioning engine to manage the placement of floating overlays and an event-driven system to coordinate the lifecycle of complex UI elemen
This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat
The Operator SDK is a framework for building, packaging, and managing custom controllers that extend the Kubernetes API. It serves as a toolset for defining new API types and implementing reconcile loops to automate the lifecycles of complex applications. The project provides specialized support for creating operators based on Helm charts or Ansible playbooks, allowing users to maintain a desired cluster state using existing automation tools. It includes a dedicated system for packaging controllers into standardized container image bundles for distribution via the Operator Lifecycle Manager.
re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur
This project is a learning guide and collection of study notes designed to teach Node.js backend development. It provides a comprehensive core API reference and practical demonstrations for implementing server-side logic, network programming, and system APIs. The guide specifically covers advanced technical domains including process management for scaling applications via clusters and child processes, as well as network programming for building TCP, UDP, and HTTP services. It also includes detailed instructional material on security implementation, focusing on cryptographic hashing and encryp
Awesome Print is a Ruby pretty printer and object inspector designed to visualize data structures through indentation and ANSI colors. It serves as a formatter for interactive shells and a utility for analyzing internal object states. The project features a plugin system for defining custom formatting rules for specific object types and supports global preference loading via a configuration file in the home directory. It can return formatted ASCII strings instead of printing directly to the console. Capabilities extend to rendering formatted object structures within web templates and writing
This project is a comprehensive curriculum for mastering computer science fundamentals and preparing for technical interviews. It provides over 120 interactive Python coding challenges that focus on algorithmic skill development, data structure implementation, and logical problem solving. The learning experience is delivered through a series of executable notebooks that combine instructional content with hands-on coding exercises. Each challenge is self-contained and relies on automated unit tests to verify the correctness of user-implemented solutions against predefined constraints and edge
Fastfetch is a command-line utility designed to retrieve and display detailed hardware and operating system specifications. It functions as a terminal-based system profiler, providing developers with a method to verify environment configurations and diagnose system issues during local development. The tool distinguishes itself through a modular architecture that organizes data collection into independent components, allowing for the selective enabling or disabling of features to manage resource usage. It utilizes direct interactions with kernel interfaces and system APIs to acquire data, main