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

DaveWoodCom/XCGLogger

0
View on GitHub↗
3,986 stars·476 forks·Swift·MIT·20 views

XCGLogger

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-destination routing, allowing log data to be sent to the console and local files with independent filters and formatters. File-based management includes persistence with automatic rotation based on file size or age. Terminal output can be visually distinguished using ANSI color codes based on severity levels.

The project provides extensibility through protocol-based destinations, filters, and formatters, enabling the integration of custom logic and third-party services.

Features

  • Swift - Provides a comprehensive logging framework for Swift applications with customizable formatting and severity levels.
  • Multi-Destination Log Routers - Routes log events to multiple heterogeneous destinations, including consoles and files, using configurable rules.
  • Deferred Log Evaluation - Delays expensive string interpolation until the active log level is verified to save CPU cycles.
  • Background I/O Queues - Offloads log writing operations to background queues to prevent blocking the main execution thread.
  • Log Metadata Injectors - Automatically attaches runtime context such as function names, filenames, and line numbers to log entries.
  • Application Event Recording - Captures and writes runtime diagnostic messages and metadata to persistent storage or consoles.
  • Asynchronous Log Processing - Processes log entries on background worker threads to prevent blocking the main application execution path.
  • Extensible Logging Logic - Offers a protocol-based system for implementing custom logging destinations, filters, and formatters.
  • Log File Rotators - Manages log file lifecycles by rotating files based on size or date and appending new entries.
  • Log Performance Optimizations - Uses deferred evaluation and severity filtering to minimize CPU overhead during active development.
  • Service Message Filters - Filters log entries based on runtime metadata such as filenames, tags, or developer identities.
  • Multi-Destination Log Routings - Sends log data to multiple destinations with independent filters and formatters for each target.
  • Extensible Log Destinations - Enables the integration of custom logging logic and third-party services through protocol-based destinations.
  • Log File Rotation - Automatically manages log file sizes by rolling over to new files when size or age limits are reached.
  • Metadata-Based Log Filtering - Filters logs based on runtime metadata such as filenames, user-defined tags, or developer identities.
  • Log File Writers - Provides utilities for writing log records to external files with configurable formatting.
  • Logging Utilities - Debug logging framework.
  • Logging and Debugging - Debug logging framework with console and file support.
  • Logging Utilities - Features a full-featured logging utility with log levels.

Star history

Star history chart for davewoodcom/xcgloggerStar history chart for davewoodcom/xcglogger

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 XCGLogger

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

    SwiftyBeaver/SwiftyBeaver

    6,066View on GitHub↗

    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

    Swift
    View on GitHub↗6,066
  • 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
  • klauscfhq/signaleklauscfhq avatar

    klauscfhq/signale

    9,176View on GitHub↗

    Signale is a formatted console logging library for Node.js applications. It serves as a pluggable logging framework and stream-based log router that allows users to record system events using customizable levels, colors, and output styles. The project distinguishes itself as an interactive console logger capable of overwriting previous messages to reduce terminal clutter during long-running tasks. It also functions as an application performance monitor, providing tools to measure and track execution time between specific code points to identify performance bottlenecks. The library covers a b

    JavaScript
    View on GitHub↗9,176
Compare all 30 related projects→

Frequently asked questions

What does davewoodcom/xcglogger do?

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.

What are the main features of davewoodcom/xcglogger?

The main features of davewoodcom/xcglogger are: Swift, Multi-Destination Log Routers, Deferred Log Evaluation, Background I/O Queues, Log Metadata Injectors, Application Event Recording, Asynchronous Log Processing, Extensible Logging Logic.

Which projects share features with davewoodcom/xcglogger?

Projects with overlapping indexed features include: swiftybeaver/swiftybeaver — SwiftyBeaver is an extensible logging framework for Swift that routes log output to multiple destinations… 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… klauscfhq/signale — Signale is a formatted console logging library for Node.js applications. It serves as a pluggable logging framework… easylogging/easyloggingpp — Easyloggingpp is a header-only C++ logging framework and diagnostic tool designed for recording system events and… emaloney/cleanroomlogger — CleanroomLogger provides an extensible Swift-based logging API that is simple, lightweight and performant.