Skip to main content

hermes_logging_components/traits/
has_logger.rs

1use cgp::prelude::*;
2
3#[derive_component(LoggerTypeComponent, ProvideLoggerType<Context>)]
4pub trait HasLoggerType: Async {
5    type Logger: Async;
6}
7
8#[derive_component(LoggerGetterComponent, LoggerGetter<Context>)]
9pub trait HasLogger: HasLoggerType {
10    fn logger(&self) -> &Self::Logger;
11}
12
13#[derive_component(GlobalLoggerGetterComponent, GlobalLoggerGetter<Context>)]
14pub trait HasGlobalLogger: HasLoggerType {
15    fn global_logger() -> &'static Self::Logger;
16}