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
Back to hynek/structlog

Open-source alternatives to Structlog

30 open-source projects similar to hynek/structlog, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Structlog alternative.

  • sirupsen/logrussirupsen avatar

    sirupsen/logrus

    25,736View on GitHub↗

    Logrus is a structured logging library for Go that produces machine-readable output using key-value pairs and JSON formatting. It serves as a pluggable logging framework providing a thread-safe event logger with configurable mutex locking to manage concurrent writes across multiple goroutines. The project distinguishes itself through a pluggable hook system that routes log entries to external services or custom destinations. It also features a contextual logger capable of attaching persistent metadata and request-scoped fields to entries to improve traceability. The framework covers broad ob

    Gogologginglogrus
    View on GitHub↗25,736
  • charmbracelet/logcharmbracelet avatar

    charmbracelet/log

    3,121View on GitHub↗

    This is a structured logging library designed to produce logs using key-value pairs, severity levels, and machine-readable formats. It provides a toolkit for creating logs that are consistent for both human review and machine parsing. The project is distinguished by its focus on terminal visualization, using a styling system to apply colors and prefixes to log entries for improved readability in consoles. It also includes a specialized adapter to convert standard library log calls into structured events by inferring severity levels from message prefixes. The library manages metadata through

    Gogolanglogging
    View on GitHub↗3,121
  • nlog/nlogNLog avatar

    NLog/NLog

    6,542View on GitHub↗

    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

    C#aotaot-compatiblec-sharp
    View on GitHub↗6,542

AI search

Explore more awesome repositories

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

Find more with AI search
  • winstonjs/winstonwinstonjs avatar

    winstonjs/winston

    24,478View on GitHub↗

    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

    JavaScript
    View on GitHub↗24,478
  • pinojs/pinopinojs avatar

    pinojs/pino

    17,941View on GitHub↗

    Pino is a high-performance logging library for Node.js applications designed to minimize overhead and prevent blocking the main event loop. It generates machine-readable logs using newline-delimited JSON, facilitating efficient ingestion and analysis by external monitoring and log aggregation platforms. The library distinguishes itself by offloading log processing and formatting to worker threads, ensuring that heavy logging tasks do not impact application responsiveness. It also provides a decoupled command-line utility that transforms structured production logs into human-readable text, sim

    JavaScriptfastjsonlogger
    View on GitHub↗17,941
  • delgan/loguruDelgan avatar

    Delgan/loguru

    23,964View on GitHub↗

    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

    Python
    View on GitHub↗23,964
  • seldaek/monologSeldaek avatar

    Seldaek/monolog

    21,388View on GitHub↗

    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

    PHPhacktoberfestloggerlogging
    View on GitHub↗21,388
  • tokio-rs/tracingtokio-rs avatar

    tokio-rs/tracing

    6,750View on GitHub↗

    This project is a structured tracing framework for Rust that serves as an async-aware instrumentation library and telemetry data collector. It provides a structured logging facade and the tools necessary to record, filter, and route event-based diagnostic data from both standard applications and embedded systems. The framework distinguishes itself through a core implementation that supports bare-metal and no-standard-library environments without requiring a dynamic memory allocator. It specifically handles the complexities of asynchronous workflows by propagating diagnostic contexts across fu

    Rustdiagnosticslogginglogging-and-metrics
    View on GitHub↗6,750
  • rs/zerologrs avatar

    rs/zerolog

    12,220View on GitHub↗

    Zerolog is a structured logging library for Go designed for high-performance event capture and observability. It focuses on generating machine-readable JSON output while minimizing memory overhead through zero-allocation buffer encoding and strongly-typed field validation. The library distinguishes itself by providing a chainable, context-aware interface that allows developers to bind trace identifiers and metadata directly to request lifecycles. It supports complex diagnostic workflows by enabling independent logger instances, custom output routing to multiple concurrent destinations, and ev

    Gogolangjsonlogging
    View on GitHub↗12,220
  • aws-powertools/powertools-lambda-pythonaws-powertools avatar

    aws-powertools/powertools-lambda-python

    3,267View on GitHub↗

    AWS Powertools for Python is a utility framework designed for building production-ready Python functions on AWS Lambda. It provides a comprehensive suite of tools for observability, event parsing, routing, and idempotency management to streamline the development of serverless applications. The project distinguishes itself through specialized capabilities for event-driven architectures and AI agent orchestration. It enables the implementation of AI agents by exposing functions as tools via OpenAPI schemas and managing conversation states. Additionally, it features an idempotency library that p

    Pythonawsaws-lambdalambda
    View on GitHub↗3,267
  • 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
  • nuxt/consolanuxt avatar

    nuxt/consola

    7,291View on GitHub↗

    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

    TypeScript
    View on GitHub↗7,291
  • 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
  • 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
  • serilog/serilogserilog avatar

    serilog/serilog

    7,991View on GitHub↗

    Serilog is a structured logging library for .NET applications that records events as rich data objects instead of plain text strings. It functions as a multi-sink framework, allowing a single log stream to be emitted to diverse destinations such as files, consoles, and cloud databases through a structured event pipeline. The framework distinguishes itself through dynamic metadata enrichment, using log event enrichers to add contextual properties and telemetry to logs for improved traceability and analysis. It employs a routing system that filters, enriches, and directs these structured events

    C#serilog
    View on GitHub↗7,991
  • go-kit/kitgo-kit avatar

    go-kit/kit

    27,430View on GitHub↗

    Kit is a microservices architectural framework and toolkit for Go. It provides a set of standardized primitives and abstractions for implementing service, endpoint, and transport layers in a decoupled manner. The framework focuses on system instrumentation through integrated distributed request tracing and a service instrumentation toolkit that utilizes counters and gauges to export performance data to external monitoring backends. It includes a structured logging library that records system events as key-value pairs to ensure compatibility with log aggregation tools. The project covers a br

    Gogogolangmetallica
    View on GitHub↗27,430
  • 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
  • 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
  • rust-lang/logrust-lang avatar

    rust-lang/log

    2,518View on GitHub↗

    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

    Rustloggingrust-library
    View on GitHub↗2,518
  • uptrace/uptraceuptrace avatar

    uptrace/uptrace

    4,098View on GitHub↗

    Uptrace is an OpenTelemetry-based observability platform designed to collect, store, and analyze distributed traces, metrics, and logs. It functions as a centralized logging backend, a distributed tracing system, and a metrics engine to monitor application performance and system health. The platform is distinguished by AI-powered operational capabilities, allowing users to query telemetry data and manage monitoring dashboards using natural language. It specifically includes specialized monitoring for generative AI pipelines, tracking token usage and response quality for LLM interactions and r

    Goapmapplication-monitoringclickhouse
    View on GitHub↗4,098
  • easycorp/easy-log-handlerEasyCorp avatar

    EasyCorp/easy-log-handler

    2,005View on GitHub↗

    Easy-log-handler is a PHP library designed to transform raw, unstructured application logs into human-readable, hierarchical formats. It functions as a logging middleware component that intercepts diagnostic streams to improve clarity during active development and troubleshooting. The tool distinguishes itself by providing stateful log aggregation and regex-based parsing, which allow it to collapse duplicate entries and extract structured data from raw text. By applying template-driven formatting and dynamic metadata filtering, it reduces information overload and ensures that essential diagno

    PHPdxloglogger
    View on GitHub↗2,005
  • boto/boto3boto avatar

    boto/boto3

    9,834View on GitHub↗

    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

    Pythonawsaws-sdkcloud
    View on GitHub↗9,834
  • trentm/node-bunyantrentm avatar

    trentm/node-bunyan

    7,212View on GitHub↗

    This project is a structured logging framework and library for Node.js applications. It produces machine-readable log records in JSON format with tiered severity levels, ensuring consistent parsing and centralized storage. The system includes a log stream manager for routing records to multiple destinations, such as files and consoles, and a command line interface for filtering, formatting, and visualizing raw JSON log streams. It supports the creation of child loggers that inherit parent configurations and merge additional contextual metadata. The framework covers a broad range of operation

    JavaScript
    View on GitHub↗7,212
  • 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
  • go-kratos/kratosgo-kratos avatar

    go-kratos/kratos

    25,743View on GitHub↗

    Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame

    Goaiarchitecturecloud-native
    View on GitHub↗25,743
  • ergo-services/ergoergo-services avatar

    ergo-services/ergo

    4,441View on GitHub↗

    Ergo is a distributed actor framework for Go that implements the Erlang distribution protocol, enabling the construction of resilient, concurrent applications that can communicate transparently with Erlang/OTP nodes. At its core, it provides an actor model with isolated lightweight processes, priority-ordered mailboxes, and a meta-process architecture that separates blocking I/O from sequential message handling to prevent actor freezing. The framework includes a Raft-inspired cluster consensus system for leader election and automatic failover, along with OTP-style supervision trees that organi

    Goactor-modelactorsdistributed
    View on GitHub↗4,441
  • 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
  • nodeshift/nodejs-reference-architecturenodeshift avatar

    nodeshift/nodejs-reference-architecture

    1,747View on GitHub↗

    This project provides a comprehensive architectural framework and set of standardized patterns for building, securing, and scaling production-ready Node.js applications. It serves as a foundational guide for establishing consistent development workflows, operational observability, and reliable service integration across distributed software systems. The framework distinguishes itself by emphasizing a schema-first approach to API development, ensuring that interface definitions drive the creation of server stubs, client libraries, and type definitions. It promotes a cloud-native posture by int

    JavaScript
    View on GitHub↗1,747
  • systemd/systemdsystemd avatar

    systemd/systemd

    15,324View on GitHub↗

    systemd is a comprehensive system and service manager for Linux that orchestrates the entire operating system lifecycle. It functions as the primary init system, managing the transition from firmware to a fully initialized user space while providing a unified framework for service orchestration, hardware management, and resource control. The project distinguishes itself through its declarative, unit-based configuration model and dynamic dependency resolution, which allow for efficient, on-demand service activation and socket-based process management. It integrates deep system observability th

    Ccinitlinux
    View on GitHub↗15,324
  • pamburus/hlpamburus avatar

    pamburus/hl

    2,912View on GitHub↗

    hl is a set of command-line interface tools for filtering, aggregating, streaming, and visualizing structured log data across multiple sources. It functions as a log filter, file aggregator, real-time streamer, and structured log viewer. The project specializes in transforming JSON and logfmt data into human-readable formats for visual analysis. It enables the merging of multiple log files and compressed archives into a single chronologically sorted stream, while supporting live tracking of multiple sources into a unified real-time view. Capabilities include field-based filtering via key-val

    Rustclicommand-line-toolhl
    View on GitHub↗2,912