16 releases (10 breaking)
0.12.2 | Aug 30, 2023 |
---|---|
0.11.0 | Jul 22, 2023 |
0.6.1 | Mar 1, 2023 |
0.6.0 | Nov 2, 2022 |
0.4.0 | Jul 24, 2022 |
#260 in Debugging
Used in 5 crates
(4 directly)
100KB
2.5K
SLoC
logid
Rust logging framework using IDs to identify log events.
Using logid
use logid::{log_id::{LogId, LogLevel}, err, ErrLogId};
use thiserror::Error;
#[derive(Debug, Clone, ErrLogId, Error)]
enum CrateError {
#[error("`SomeError` description.")]
SomeError,
#[error("`InternalError` description.")]
InternalError,
}
fn my_func() -> Result<(), CrateError> {
// some code ...
// on error
err!(CrateError::SomeError)
}
Contributing
There is not yet a contributing guideline, but feel free to create issues and/or pull requests.
Note that any contribution submitted to logid
is going to be MIT licensed.
License
MIT Licensed
lib.rs
:
Library providing functionalities to set and capture log_id::LogId
events.
log_id::LogId
s are used to identify and group events.
An event is captured by a central LOGGER
once the event is finalized.
Finalizing is done explicitly using .finalize()
, converting the event back to the log_id::LogId
, or implicitly when the event is dropped.
The LOGGER
is created using [evident]'s Publisher
struct.
This allows to add subscribers to one or more log_id::LogId
s to receive events set with those log_id::LogId
s.
For more information about subscription variants, checkout evident
.
Usage:
use logid::{log_id::{LogId, LogLevel}, err, ErrLogId};
use thiserror::Error;
#[derive(Debug, Clone, ErrLogId, Error)]
enum CrateError {
#[error("`SomeError` description.")]
SomeError,
#[error("`InternalError` description.")]
InternalError,
}
fn my_func() -> Result<(), CrateError> {
// some code ...
// on error
err!(CrateError::SomeError)
}
Dependencies
~0.9–12MB
~81K SLoC