pub struct LogLevelController { /* private fields */ }Expand description
The handle that reads and retargets the live log filter.
Cloning shares one filter: every clone reads and writes the same state,
which is what lets the broker hold one in its config while the installed
subscriber holds the LogLevelFilter side.
Implementations§
Source§impl LogLevelController
impl LogLevelController
Sourcepub fn new(spec: &str) -> (Self, LogLevelFilter)
pub fn new(spec: &str) -> (Self, LogLevelFilter)
Build a controller over the EnvFilter spec spec, and the filter it
drives.
spec is the ordinary RUST_LOG syntax. Its target directives seed
the logger list, the way the loggers named in a log4j2.properties
are listed before anything has logged through them.
Sourcepub fn filter(&self) -> LogLevelFilter
pub fn filter(&self) -> LogLevelFilter
Another filter over the same state, for a second layer.
Sourcepub fn loggers(&self) -> BTreeMap<String, LogLevel>
pub fn loggers(&self) -> BTreeMap<String, LogLevel>
Every logger this node knows, with its effective level.
That is every target a callsite has been registered under, every
target the starting spec named, and ROOT_LOGGER.
Sourcepub fn level(&self, name: &str) -> Option<LogLevel>
pub fn level(&self, name: &str) -> Option<LogLevel>
The effective level of one logger, or None when no such logger
exists. Mirrors log4j2’s loggerExists plus getLevel.
Sourcepub fn set_level(&self, name: &str, level: LogLevel)
pub fn set_level(&self, name: &str, level: LogLevel)
Pin name to level, in this process only.
ROOT_LOGGER sets the level every unmatched target falls back to.
Any other name becomes a target directive, which also covers the
targets below it: krabka_broker at DEBUG puts
krabka_broker::handlers::produce at DEBUG too.
Sourcepub fn clear_level(&self, name: &str) -> bool
pub fn clear_level(&self, name: &str) -> bool
Drop name’s own level so it inherits again, and report whether it
had one.
ROOT_LOGGER never has a level of its own to drop — it is the
level everything else inherits — so it always reports false. Kafka
refuses a DELETE of the root logger for that reason.
Trait Implementations§
Source§impl Clone for LogLevelController
impl Clone for LogLevelController
Source§fn clone(&self) -> LogLevelController
fn clone(&self) -> LogLevelController
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for LogLevelController
impl RefUnwindSafe for LogLevelController
impl Send for LogLevelController
impl Sync for LogLevelController
impl Unpin for LogLevelController
impl UnsafeUnpin for LogLevelController
impl UnwindSafe for LogLevelController
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].