Crates.io | slog-extlog |
lib.rs | slog-extlog |
version | 8.1.0 |
source | src |
created_at | 2018-04-20 10:58:49.371156 |
updated_at | 2023-10-06 16:00:35.2547 |
description | Object-based logging and statistics tracking through logs |
homepage | https://github.com/slog-rs/extlog |
repository | https://github.com/slog-rs/extlog |
max_upload_size | |
id | 61555 |
size | 153,252 |
This crate adds support for external logs, and for statistics tracking through those logs, to the slog
ecosystem.
This crate was written by Metaswitch Networks (@Metaswitch) and made freely available under the Apache License. Contributions are welcome.
External logs are logs that form an external API that end users can rely on, and that do not change without explicit agreement. Using them allows you to treat logs as objects, rather than strings with metadata, allowing compile-time checking of logs.
This repository provides the following.
StatisticsLogger
type that wraps an slog::Logger
, which handles logging and updating tracked stats.xlog!
macro for making the logs through the StatisticsLogger
.StatisticsLogger
.In theory, an external log can be defined simply by making any type implement ExtLoggable
. In practice, external logs will be generated by auto-deriving the ExtLoggable
trait using the slog-extlog-derive
crate from this repository.
Logs can then be generated by using the xlog!
macro to make the logs using a StatisticsLogger
- a wrapper around slog::Logger
which can also track stats.
For more details, see: