slog-rs

slog-rs/slog

Rust Apache-2.0 Dev Tools Single maintainer risk

Structured, contextual, extensible, composable logging for Rust

1.7k stars
100 forks
slow
GitHub +1 / week

1.7k

Stars

100

Forks

56

Open issues

30

Contributors

v2.8.2 11 Oct 2025

AI Analysis

slog is a structured logging ecosystem for Rust offering composable, contextual, and hierarchical logging capabilities. It serves teams building systems that require sophisticated log context tracking and extensibility beyond standard logging. While mature and battle-tested, the README explicitly recommends evaluating the `tracing` crate as an alternative, particularly for async-heavy workloads, positioning slog as best-suited for projects prioritizing API stability, structured log compositio...

Dev Tools Library Discovery value: 3/10
Documentation 7/10
Activity 6/10
Community 7/10
Code quality 6/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 7/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

structured-logging rust-ecosystem composable-logging contextual-logging mature-library
Actively maintained Niche/specialized use case Well documented Production ready
Deep Analysis · Based on README and public signals
6d ago

Mature Rust structured logging framework facing ecosystem consolidation toward tracing

slog is a battle-tested, component-based structured logging ecosystem for Rust created in 2016. It excels at composable, contextual logging with strong performance and a rich plugin architecture (slog-term, slog-async, slog-json, etc.). However, the README itself explicitly recommends evaluating tracing as the community's preferred solution for most new projects, particularly those requiring async/await support. slog remains actively maintained and stable, but adoption appears concentrated in legacy systems and projects where its specific maturity or features justify the steeper learning curve.

Origin

slog emerged in 2016 as an ambitious structured logging alternative to Rust's standard `log` crate. It pioneered composable, contextual logging patterns in Rust and accumulated substantial production usage. The ecosystem accumulated 1,710 GitHub stars and a robust plugin community. However, the rise of tokio-rs/tracing (created later, now 5.6k+ stars) with native async support and larger maintainer backing has shifted the Rust ecosystem's default choice.

Growth

slog gained steady adoption through 2016–2020 as the primary structured logging option for Rust. Growth plateaued around 2020–2022 and appears flat since; only 1 star gained in the last 7 days (as of 2026-07-04). The README's candid recommendation to 'consider using tracing instead' signals conscious acceptance of ecosystem consolidation rather than competitive decline. Adoption likely stabilized among projects already using slog and niche use cases valuing its specific design.

In production

README states slog is 'used in many important projects' and references 'crates using slog' on crates.io. However, specific project names, company adoption, or quantified deployment scale are not provided. Reverse dependencies on crates.io would indicate ecosystem integration, but not enumerated here. Adoption not verified at specific scale, though ecosystem integration appears real.

Code analysis
Architecture

slog appears to use a modular, plugin-based architecture based on the README describing core + optional feature crates (slog-term, slog-async, slog-json, slog-syslog). The core library likely provides traits and composition primitives; functionality is implemented in satellite crates. README emphasizes composability and extensibility. Likely supports context/scope propagation and flexible output formatting.

Tests

not documented in README. GitHub Actions workflow shown ('test.yml') indicates CI is active, but test suite size/coverage metrics are not exposed.

Maintenance

Last push: 2026-06-01, approximately 33 days ago from evaluation date (2026-07-04). CI passing. Gitter channel listed as support channel. README acknowledges slower activity and uncertainty around future maintenance ('ownership potentially shared between multiple developers'). Maintenance appears active but cautious; not stagnant, but also not accelerating. The MSRV badge (Rust 1.61+) suggests deliberate compatibility management.

Honest verdict

ADOPT IF: you are maintaining a legacy Rust codebase already on slog, need its specific features (e.g., synchronous guaranteed logging, rich composable sinks), prioritize API stability, and do not require first-class async/tracing instrumentation support. AVOID IF: starting a new Rust project with async/tokio, need observability tooling, or want the community's primary solution—use tracing instead. MONITOR IF: you rely on slog and want to track whether maintenance remains sufficient post-2026 as the Rust ecosystem consolidates; the README signals openness to community ownership, which may improve or dilute maintenance quality.

Independent dimensions

Mainstream potential

3/10

Technical importance

7/10

Adoption evidence

5/10

Risks
  • Ecosystem consolidation: tracing is becoming the Rust standard; slog risks becoming a minority choice, reducing pressure to fix edge cases or maintain compatibility with emerging Rust features.
  • Maintenance uncertainty: README explicitly notes 'ownership potentially shared between multiple developers,' signaling governance clarity issues that could lead to slow response to critical bugs.
  • Async friction: slog-async exists but is an add-on; tracing's async-first design means async codebases may experience friction with slog's architecture.
  • Documentation debt: README acknowledges 'documentation sometimes could use an improvement,' which may persist as community focus shifts to tracing.
  • Feature parity risk: if tracing gains features slog lacks (e.g., native span propagation, distributed tracing), migration cost for slog users may increase over time.
Prediction

slog will likely remain in stable maintenance mode, serving entrenched projects and niche use cases, but will not gain mainstream market share in Rust. Over 5+ years, it may transition to community-maintained status or become a specialized tool for synchronous-only codebases. Adoption curve appears to have flattened permanently.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Rust
98.9%
Makefile
1%
Vim Script
0.1%

Information

Language
Rust
License
Apache-2.0
Last updated
1mo ago
Created
123mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

rust-lang

rust-lang/log

The `log` crate is Rust's standard logging facade, providing a unified API that...

2.5k Rust Dev Tools
sirupsen

sirupsen/logrus

Logrus is a structured logging library for Go that provides a standard...

25.8k Go DevOps
go-logr

go-logr/logr

logr is a minimal logging interface and abstraction layer for Go that decouples...

1.4k Go Dev Tools
serilog

serilog/serilog

Serilog is a structured logging library for .NET applications that captures...

tokio-rs

tokio-rs/tracing

Tracing is a structured, application-level diagnostics framework for Rust that...

6.8k Rust Dev Tools
vs. alternatives
tokio-rs/tracing

5.6k+ stars vs. 1.7k; async-first design; larger maintainer base; README explicitly recommends tracing as the Rust community's 'go-to' solution. tracing favors observability; slog favors composability and maturity.

rust-lang/log

2.5k stars; slog is built atop log's trait facade. log is simpler, slog is more feature-rich. log dominates simpler use cases; slog for structured/contextual requirements.

serilog/serilog (C#)

8k stars in different ecosystem. Both offer structured logging and composable sinks. serilog is C#'s de facto standard; slog is Rust's legacy standard being displaced by tracing.

sirupsen/logrus (Go)

25.7k stars; Go ecosystem standard. Similar era and philosophy to slog (structured, composable). logrus has captured Go mindshare; slog has not in Rust (tracing has).

go-logr/logr (Go)

1.4k stars; structured logging abstraction for Go. Comparable scale to slog; similar positioning as a composable logging layer in a fragmented ecosystem.