Crate logid

source ·
Expand description

Library providing functionalities to set and capture log_id::LogId events. log_id::LogIds 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::LogIds to receive events set with those log_id::LogIds. 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)
}

Modules

Macros

Derive Macros