pub struct LogLevelController { /* private fields */ }Expand description
Controller for dynamic log level management.
This struct provides methods to change log levels at runtime.
It wraps a reload::Handle from tracing-subscriber.
Implementations§
Source§impl LogLevelController
impl LogLevelController
Sourcepub fn new(
handle: Handle<EnvFilter, Registry>,
initial_level: LogLevel,
) -> LogLevelController
pub fn new( handle: Handle<EnvFilter, Registry>, initial_level: LogLevel, ) -> LogLevelController
Create a new log level controller with the given reload handle.
Sourcepub fn register_global(self) -> bool
pub fn register_global(self) -> bool
Register this controller as the global instance.
Returns true if registration succeeded, false if a controller was already registered.
Sourcepub fn global() -> Option<&'static LogLevelController>
pub fn global() -> Option<&'static LogLevelController>
Get the global log level controller, if one is registered.
Sourcepub fn current_level(&self) -> LogLevel
pub fn current_level(&self) -> LogLevel
Get the current global log level.
Sourcepub fn module_levels(&self) -> HashMap<String, LogLevel>
pub fn module_levels(&self) -> HashMap<String, LogLevel>
Get all current module-specific log levels.
Sourcepub fn set_level(&self, level: LogLevel) -> Result<(), Error>
pub fn set_level(&self, level: LogLevel) -> Result<(), Error>
Set the global log level.
This immediately affects all log output that doesn’t have a module-specific override.
Sourcepub fn set_module_level(
&self,
module: impl Into<String>,
level: LogLevel,
) -> Result<(), Error>
pub fn set_module_level( &self, module: impl Into<String>, level: LogLevel, ) -> Result<(), Error>
Set the log level for a specific module.
§Arguments
module- The module path (e.g., “mabi_core::engine”)level- The log level to set
Sourcepub fn remove_module_level(&self, module: &str) -> Result<(), Error>
pub fn remove_module_level(&self, module: &str) -> Result<(), Error>
Remove a module-specific log level override.
Sourcepub fn clear_module_levels(&self) -> Result<(), Error>
pub fn clear_module_levels(&self) -> Result<(), Error>
Clear all module-specific log level overrides.
Sourcepub fn enable_debug_mode(&self) -> Result<DebugModeGuard, Error>
pub fn enable_debug_mode(&self) -> Result<DebugModeGuard, Error>
Temporarily increase verbosity for debugging.
This is a convenience method that sets the global level to Debug and can be easily reverted.
Sourcepub fn enable_module_trace(
&self,
module: impl Into<String>,
) -> Result<ModuleTraceGuard, Error>
pub fn enable_module_trace( &self, module: impl Into<String>, ) -> Result<ModuleTraceGuard, Error>
Temporarily increase verbosity for a specific module.
Sourcepub fn current_filter_string(&self) -> String
pub fn current_filter_string(&self) -> String
Get the current filter string (for debugging purposes).
Trait Implementations§
Source§impl Clone for LogLevelController
impl Clone for LogLevelController
Source§fn clone(&self) -> LogLevelController
fn clone(&self) -> LogLevelController
1.0.0 · 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more