Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slog-rs/slog
Structured, contextual, extensible, composable logging for Rust
https://github.com/slog-rs/slog
contextual ecosystem hierarchical-loggers logging logging-library rust slog-rs structured-logging
Last synced: 5 days ago
JSON representation
Structured, contextual, extensible, composable logging for Rust
- Host: GitHub
- URL: https://github.com/slog-rs/slog
- Owner: slog-rs
- License: apache-2.0
- Created: 2016-06-12T22:20:18.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-23T17:36:41.000Z (about 1 month ago)
- Last Synced: 2024-10-23T05:16:05.874Z (12 days ago)
- Topics: contextual, ecosystem, hierarchical-loggers, logging, logging-library, rust, slog-rs, structured-logging
- Language: Rust
- Homepage: https://slog.rs/
- Size: 15.7 MB
- Stars: 1,575
- Watchers: 18
- Forks: 95
- Open Issues: 55
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-rust-cn - slog-rs/slog - ci.org/slog-rs/slog.svg?branch=master)](https://travis-ci.org/slog-rs/slog) (Libraries / Logging)
- awesome-rust - slog-rs/slog - ci.org/slog-rs/slog.svg?branch=master)](https://travis-ci.org/slog-rs/slog) (Libraries / Logging)
- awesome-rust - slog-rs/slog
- awesome-rust-cn - slog-rs/slog
- awesome-rust-zh - slog-rs/slog - Rust 的结构化,可组合日志记录[![Build Status](https://api.travis-ci.org/slog-rs/slog.svg?branch=master)](https://travis-ci.org/slog-rs/slog) (库 / 日志)
- awesome - slog - Structured, contextual, extensible, composable logging for Rust (Rust)
README
Getting started
Introduction
FAQ
Crate list# slog-rs - The Logging for [Rust][rust]
### You might consider using `tracing` instead
It's been a while since `slog` was created and it served
Rust community well all this time. It remains a stable, featureful
and battle-tested library, used in many important projects.In last few years,
another ecosystem for Rust was
created with similar features and a very good support for debugging `async` code
and already larger dev team and community.Please check [tracing](https://github.com/tokio-rs/tracing) and see
if it is more suitable for your use-case. It seems that it is already
a go-to logging/tracing solution for Rust.Reasons you might want to stick with `slog` anyway:
* `async` support doesn't benefit you
* you consider mature, stable code & API a plus
* it has some features that `tracing` is missing
* great performance (I have NOT done any comparison, but `slog`'s performance
is very good).### Introduction (please read)
`slog` is an ecosystem of reusable components for structured, extensible,
composable and contextual logging for [Rust][rust].The ambition is to be The Logging Library for Rust. `slog` should accommodate a
variety of logging features and requirements. If there is a feature that you
need and standard `log` crate is missing, `slog` should have it.This power comes with a little steeper learning curve, so if you experience any
problems, **please join [slog-rs gitter] channel** to get up to speed. If you'd
like to take a quick, convenient route, consider using
[sloggers](https://docs.rs/sloggers/) wrapper library.While the code is reliable, the documentation sometimes could use an improvement.
Please report all issues and ideas.### Features & technical documentation
Most of the interesting documentation is auto-generated and hosted on [https://docs.rs](https://docs.rs/slog/).
Go to [docs.rs/slog](https://docs.rs/slog/) to read about features and APIs
(examples included).**Note**: `slog` is just a core, and the actual functionality is inside
many feature crates. To name a few:* [slog-term](https://docs.rs/slog-term/) for terminal output
* [slog-async](https://docs.rs/slog-async/) for asynchronous logging
* [slog-json](https://docs.rs/slog-json/) for logging JSON
* [slog-syslog](https://docs.rs/slog-syslog/) for logging to syslog
* [sloggers](https://docs.rs/sloggers/) for convenience methods (note: [3rd-party library](https://github.com/sile/sloggers))There are many more slog feature crates. Search for [more slog features on
crates.io](https://crates.io/search?q=slog). It is easy to write and publish
new ones. Look through all the [existing crates using
slog](https://crates.io/crates/slog/reverse_dependencies) for examples and ideas.### Terminal output example
`slog-term` is only one of many `slog` features - useful showcase,
multi-platform, and featuring eg. automatic TTY detection and colors.See following screenshot: same output in both compact and full output mode.
![slog-rs terminal example output](http://i.imgur.com/mqrG8yL.png)
## Using & help
Please use [slog-rs gitter] channel to ask for help or discuss
slog features.See
[examples/features.rs](https://github.com/slog-rs/misc/blob/master/examples/features.rs)
for full quick code example overview.Read [Documentation](https://docs.rs/slog/) for details and features.
To report a bug or ask for features use [github issues][issues].
[faq]: https://github.com/slog-rs/slog/wiki/FAQ
[wiki]: https://github.com/slog-rs/slog/wiki/
[rust]: http://rust-lang.org
[slog-rs gitter]: https://gitter.im/slog-rs/slog
[issues]: //github.com/slog-rs/slog/issues## Slog community
Slog related crates are hosted under [slog github
organization](https://github.com/slog-rs).Dawid Ciężarkiewicz is the original author and current maintainer of `slog` and
therefore self-appointed benevolent dictator over the project. When working on
slog Dawid follows and expects everyone to follow his [Code of
Conduct](https://github.com/dpc/public/blob/master/COC.md).Any particular repositories under slog ecosystem might be created, controlled,
maintained by other entities with various levels of autonomy. Lets work together
toward a common goal in a respectful and welcoming atmosphere!## Verification Recommendation
To help with the maintained, the ownership of this crate is potentially shared between multiple developers.
It is recommended to always use [cargo-crev](https://github.com/crev-dev/cargo-crev)
to verify the trustworthiness of each of your dependencies, including this one.