hermes_logging_components/traits/
has_logger.rs1use 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}