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

rs/zerolog

0
View on GitHub↗
12,220 stars·613 forks·Go·mit·22 views

Zerolog

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 event-based sampling to manage log volume and storage costs.

Beyond its core structured output, the toolkit includes features for local development, such as transforming machine-readable data into colorized, human-friendly console text. It also maintains compatibility with existing systems by providing adapters that wrap standard library logging interfaces, allowing for the integration of modern diagnostic capabilities into legacy codebases.

Features

  • Go - Provides a toolkit for capturing application events and request context to simplify debugging and observability in Go.
  • High-Performance Logging - Provides a logging framework optimized for minimal resource consumption and high throughput in complex applications.
  • Structured Logging Frameworks - Generates high-performance, machine-readable JSON logs with strongly-typed fields for detailed observability.
  • Contextual Metadata Propagation - Automatically binds trace identifiers and metadata to request lifecycles for consistent observability.
  • Zero-Allocation Buffer Encoders - Serializes log events directly into reusable buffers to minimize memory allocation overhead.
  • Contextual Logging - Binds trace identifiers and metadata to request contexts to ensure logs remain traceable throughout the application lifecycle.
  • Logging - Zero-allocation JSON logging.
  • Logging - High-performance zero-allocation logging.
  • Logging Frameworks - Zero-allocation JSON logger for Go.
  • Logging Libraries - Zero-allocation JSON logger.
  • Distributed Tracing - Binds trace identifiers to request lifecycles to ensure logs remain traceable across distributed system components.
  • Sampling Strategies - Reduces total log volume by applying sampling strategies based on frequency or burst thresholds.
  • Standard Library Adapters - Provides adapters that wrap standard library logging interfaces to maintain compatibility with legacy codebases.
  • Sampling Strategies - Reduces log storage overhead by applying frequency-based sampling to system events.
  • Log Management - Reduces total log storage costs by applying sampling strategies based on frequency or burst thresholds.
  • Logging Pipelines - Broadcasts log messages to multiple destinations simultaneously, such as standard output, files, or remote services.
  • Multi-Writer Multiplexers - Broadcasts log streams to multiple concurrent destinations by delegating to registered output handlers.
  • Diagnostic Compatibility Layers - Wraps existing logging interfaces to maintain compatibility with older codebases.
  • Type Safety - Enforces data integrity and prevents errors through strict validation and structured type definitions during log field construction.
  • Independent Logger Instances - Supports creating independent logger instances to route messages to specific destinations or apply unique configurations.
  • Custom Log Writers - Executes user-defined functions before writing log events to inject dynamic fields or send data to external systems.
  • Logging Compatibility Adapters - Maintains compatibility with legacy logging interfaces while providing modern diagnostic capabilities.

Star history

Star history chart for rs/zerologStar history chart for rs/zerolog

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 rs/zerolog do?

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.

What are the main features of rs/zerolog?

The main features of rs/zerolog are: Go, High-Performance Logging, Structured Logging Frameworks, Contextual Metadata Propagation, Zero-Allocation Buffer Encoders, Contextual Logging, Logging, Logging Frameworks.

Which projects share features with rs/zerolog?

Projects with overlapping indexed features include: sirupsen/logrus — Logrus is a structured logging library for Go that produces machine-readable output using key-value pairs and JSON… uber-go/zap — Zap is a high-performance structured logging library designed for production environments. It provides a framework for… gabime/spdlog — spdlog is a high-performance C++ logging library designed to record diagnostic messages and application events. It… hynek/structlog — structlog is a structured logging library for Python that treats log entries as dictionaries instead of strings. This… pinojs/pino — Pino is a high-performance logging library for Node.js applications designed to minimize overhead and prevent blocking… winstonjs/winston — Winston is a versatile logging library for Node.js designed to record system events and metadata. It functions as a…

Projects sharing features with Zerolog

These projects share indexed features with Zerolog. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • uber-go/zapuber-go avatar

    uber-go/zap

    24,329View on GitHub↗

    Zap is a high-performance structured logging library designed for production environments. It provides a framework for generating machine-readable logs that minimize memory overhead and CPU usage, allowing for efficient event analysis and system monitoring. The library distinguishes itself through a focus on zero-allocation logging, utilizing buffer pooling to reduce garbage collection pressure during high-frequency operations. It enforces strict data typing through compile-time checks and structured field encoding, which ensures consistent output without the performance cost of reflection-ba

    Gogolangloggingstructured-logging
    View on GitHub↗24,329
  • 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
  • hynek/structloghynek avatar

    hynek/structlog

    4,835View on GitHub↗

    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

    Python
    View on GitHub↗4,835
Compare all 30 related projects→