30 open-source projects similar to uber-go/zap, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
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
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
Lumberjack is a log rolling library for Go that manages the lifecycle of log files through size-based rotation and backup cleanup. It functions as a log retention manager to prevent disk exhaustion in Go services. The project optimizes log storage by compressing rotated files using the gzip algorithm and generating unique filenames via timestamped backups. It implements a retention policy that prunes historical records based on a maximum number of backups or a specified file age. The library implements the standard Go writer interface to integrate with logging libraries, providing a mechanis
Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.
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
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
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
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
This project is a cross-platform development framework and managed runtime environment designed for building high-performance applications. It provides a comprehensive toolkit for constructing web services, cloud-native microservices, and desktop applications, utilizing a unified runtime that handles memory management and execution across diverse operating systems. The framework distinguishes itself through a native ahead-of-time compilation toolchain that transforms source code into optimized, self-contained machine code binaries. This capability enables fast startup times and reduced memory
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
Simple logger for Go programs. Allows custom formats for messages.
:green_book: Simple, configurable and scalable Structured Logging for Go.
📑 Lightweight, configurable, extensible logging library written in Go. Support multi level, multi outputs and built-in multi file logger, buffers, clean, rotate-file handling.一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能
go-spew is a deep inspection library and debugging utility for Go. It functions as a data structure pretty printer that renders complex, nested types into human-readable strings with indentation and type information. The library provides specialized capabilities for visualizing internal program states, including the ability to dump data structures with pointer addresses and map keys. It includes a configuration system to adjust printing behavior, such as limiting recursion depth and setting indentation. The tool uses reflection-based type inspection and recursive tree traversal to handle nes
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
A tiny debug logging tool. Ideal for CLI tools and command applications. Inspired by https://github.com/visionmedia/debug
io.Writer implementation using logrus logger managed by soy-programador
Rolling writer is an IO util for auto rolling write in go.