slog-rs - The Logging for Rust
Table of Contents
- Status & news
- Slog community
- Slog related resources
slog is an ecosystem of reusable components for structured, extensible,
composable logging for Rust.
The ambition is to be The Logging Framework for Rust.
slog should accommodate
variety of logging features and requirements.
Status & news
slog v1 (versions
1.x.y) is a current stable release.
slog v2 (versions
2.x.y) is a work in progress. API of
slog v2 is very similar to
and most changes are under the hood. Porting should be relatively easy. See
I encourage you to try slog v2 and give feedback. See
slog v2 status page.
Features & technical documentation
Most of interesting documentation is using rustdoc itself.
Terminal output example
slog-term is only one of many
slog features - useful showcase.
Automatic TTY detection and colors:
Compact vs full mode:
Using & help
See examples/features.rs for full quick code example overview.
Read Documentation for details and features.
To report a bug or ask for features use github issues.
In your project
[dependencies] slog = "1.2"
#[macro_use] extern crate slog;
slog follows SemVer: this is the official policy regarding breaking changes
and minimum required versions of Rust.
Slog crates should pin minimum required version of Rust to the CI builds. Bumping the minimum version of Rust is considered a minor breaking change, meaning at a minimum the minor version will be bumped.
In order to keep from being surprised of breaking changes, it is highly
recommended to use the
~major.minor.patch style in your
Cargo.toml if you
wish to target a version of Rust that is older than current stable minus two
[dependencies] slog = "~1.3.0"
This will cause only the patch version to be updated upon a
call, and therefore cannot break due to new features, or bumped minimum
versions of Rust.
Minimum Version of Rust
slog and it's ecosystem officially supports current stable Rust, minus
two releases, but may work with prior releases as well. For example, current
stable Rust at the time of this writing is 1.13.0, meaning
slog is guaranteed
to compile with 1.11.0 and beyond. At the 1.14.0 release,
slog will be
guaranteed to compile with 1.12.0 and beyond, etc.
Upon bumping the minimum version of Rust (assuming it's within the stable-2
range), it must be clearly annotated in the
Slog related crates are hosted under slog github organization.
Dawid Ciężarkiewicz is the original author and current maintainer of
therefore self-appointed benevolent dictator over the project. When working on
slog Dawid follows and expects everyone to follow his Code of
Any particular repositories under slog ecosystem might be created, controlled, maintained by other entities with various level of autonomy. Lets work together toward a common goal in respectful and welcoming atmosphere!
- 24 days of Rust - structured logging - review and tutorial by Zbigniew Siciarz 2016-12-05