Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. log

log

MITGo

A high-performance, dependency-free structured logging library for Go with a clean API and comprehensive writer support.

GitHubGitHub
848 stars57 forks0 contributors

What is log?

phuslog is a structured logging library for Go designed for extreme performance and minimal overhead. It provides a clean, fluent API and supports a wide variety of output writers, making it suitable for both development and production environments. It solves the need for high-throughput, low-latency logging in Go applications with zero allocations in common cases.

Target Audience

Go developers building high-performance applications where logging overhead is a critical concern, such as microservices, data pipelines, or real-time systems. It's also suitable for developers needing flexible output destinations like syslog, journald, or Windows Event Log.

Value Proposition

Developers choose phuslog for its benchmark-proven performance, significantly outperforming other JSON loggers like slog, zap, and zerolog in speed and memory usage. Its unique selling point is combining this extreme performance with a dependency-free design, a clean fluent API, and seamless interoperability with Go's standard log and slog packages.

Overview

Fastest structured logging

Use Cases

Best For

  • High-performance Go applications requiring zero-allocation logging to minimize garbage collection overhead.
  • Systems needing flexible log output to multiple destinations like files, syslog, journald, or Windows Event Log.
  • Projects seeking a drop-in, high-performance replacement for Go's standard slog.JSONHandler.
  • Development environments where human-readable, colorized console output is needed alongside structured JSON logging.
  • Production systems requiring log rotation, compression, and advanced output control without external dependencies.
  • Integrating structured logging into existing codebases using Go's standard log package via its adapter.

Not Ideal For

  • Projects requiring built-in integrations with cloud log services like Elasticsearch or Datadog without custom code
  • Windows-based applications where file rotation without administrator privileges is a hard requirement
  • Teams that prioritize out-of-the-box log aggregation and monitoring dashboards over raw performance
  • Simple CLI tools or scripts where the overhead of configuring multiple writers and performance tuning is unnecessary

Pros & Cons

Pros

Benchmark-Proven Speed

Outperforms slog, zap, and zerolog in benchmarks with zero allocations in common cases, making it ideal for high-throughput applications where logging overhead is critical.

Comprehensive Writer Support

Includes a wide range of writers like FileWriter with rotation, AsyncWriter for throughput, and system-specific writers (SyslogWriter, JournalWriter, EventlogWriter) for flexible output destinations.

Seamless Stdlib Integration

Provides adapters for Go's standard log package and slog, with SlogNewJSONHandler as a drop-in replacement that offers significant performance improvements over the standard handler.

Dependency-Free Design

No external dependencies, reducing project bloat and potential conflicts, as highlighted in the features list and philosophy.

Cons

Windows Symlink Hurdles

FileWriter uses symlinks for rotation, which on Windows may require administrator privileges, complicating deployments in restricted environments.

ConsoleWriter Performance Caveat

The README explicitly warns against using ConsoleWriter on critical paths of high-concurrency applications due to potential performance degradation, limiting its use in production debugging.

Advanced Configuration Complexity

Features like log rotation with compression or total size limits require writing custom Cleaner functions, adding setup overhead compared to loggers with built-in solutions.

Frequently Asked Questions

Quick Stats

Stars848
Forks57
Contributors0
Open Issues14
Last commit1 month ago
CreatedSince 2019

Tags

#slog#high-performance#syslog#logging-library#log#log-rotation#logging#logger#structured-logging#golang#json-logging#json#zero-allocation#go

Built With

G
Go

Included in

Go169.1k
Auto-fetched 2 hours ago

Related Projects

logruslogrus

Structured, pluggable logging for Go.

Stars25,715
Forks2,278
Last commit8 days ago
zapzap

Blazing fast, structured, leveled logging in Go.

Stars24,439
Forks1,513
Last commit7 days ago
zerologzerolog

Zero Allocation JSON Logger

Stars12,361
Forks620
Last commit14 days ago
spewspew

Implements a deep pretty printer for Go data structures to aid in debugging

Stars6,389
Forks372
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub