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: ReloadHandle, initial_level: LogLevel) -> Self
pub fn new(handle: ReloadHandle, initial_level: LogLevel) -> Self
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<()>
pub fn set_level(&self, level: LogLevel) -> Result<()>
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<()>
pub fn set_module_level( &self, module: impl Into<String>, level: LogLevel, ) -> Result<()>
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<()>
pub fn remove_module_level(&self, module: &str) -> Result<()>
Remove a module-specific log level override.
Sourcepub fn clear_module_levels(&self) -> Result<()>
pub fn clear_module_levels(&self) -> Result<()>
Clear all module-specific log level overrides.
Sourcepub fn enable_debug_mode(&self) -> Result<DebugModeGuard>
pub fn enable_debug_mode(&self) -> Result<DebugModeGuard>
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>
pub fn enable_module_trace( &self, module: impl Into<String>, ) -> Result<ModuleTraceGuard>
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 more