pub struct OperationScope<'a> { /* private fields */ }Expand description
Guard value for scoped OperationContext lifecycle management.
Created via OperationContext::scope or [OperationContext::auto_scope].
Automatically records the exit result when dropped.
Implementations§
Source§impl<'a> OperationScope<'a>
impl<'a> OperationScope<'a>
Sourcepub fn with_field<K, V>(&mut self, key: K, val: V) -> &mut Self
pub fn with_field<K, V>(&mut self, key: K, val: V) -> &mut Self
Builder-style field addition while keeping the scope guard alive.
Sourcepub fn with_meta<K, V>(&mut self, key: K, value: V) -> &mut Self
pub fn with_meta<K, V>(&mut self, key: K, value: V) -> &mut Self
Builder-style metadata addition while keeping the scope guard alive.
Sourcepub fn mark_success(&mut self)
pub fn mark_success(&mut self)
Explicitly mark as success.
Sourcepub fn mark_failure(&mut self)
pub fn mark_failure(&mut self)
Keep the failure state (default behavior).
Methods from Deref<Target = OperationContext>§
pub fn context(&self) -> &CallContext
pub fn result(&self) -> &OperationResult
pub fn exit_log(&self) -> &bool
pub fn mod_path(&self) -> &String
pub fn action(&self) -> &Option<String>
pub fn locator(&self) -> &Option<String>
pub fn path(&self) -> &[String]
pub fn metadata(&self) -> &ErrorMetadata
pub fn with_doing<S: Into<String>>(&mut self, action: S)
pub fn with_at<S: Into<String>>(&mut self, locator: S)
Sourcepub fn set_target<S: Into<String>>(&mut self, target: S)
pub fn set_target<S: Into<String>>(&mut self, target: S)
Alias: set the target resource/operation name. The first call establishes the root target; subsequent calls only append to the path.
pub fn path_string(&self) -> Option<String>
Sourcepub fn record_field<K, V>(&mut self, key: K, val: V)
pub fn record_field<K, V>(&mut self, key: K, val: V)
Record a human-readable key-value pair into the context stack.
The entry will appear in the error’s Display output.
For typed metadata hidden from console output, use [record_meta()] instead.
Prefer with_field for chained construction.
record_field is for when you already have a mutable reference.
pub fn record<K, V>(&mut self, key: K, val: V)
Sourcepub fn record_meta<K, V>(&mut self, key: K, value: V)
pub fn record_meta<K, V>(&mut self, key: K, value: V)
Record typed metadata that is not included in Display output.
Use this for structured fields intended for serialization, snapshots, or
API responses. For user-visible context entries, use [record_field()].
Prefer with_meta for chained construction.
record_meta is for when you already have a mutable reference.
pub fn mark_suc(&mut self)
pub fn mark_cancel(&mut self)
Sourcepub fn scope(&mut self) -> OperationScope<'_>
pub fn scope(&mut self) -> OperationScope<'_>
Create a scope guard, defaulting to failure state.
Requires explicit mark_success(), mark_cancel(), or mark_fail().
Sourcepub fn scoped_success(&mut self) -> OperationScope<'_>
pub fn scoped_success(&mut self) -> OperationScope<'_>
Create a scope guard that automatically marks success on drop.
pub fn info<S: AsRef<str>>(&self, message: S)
pub fn debug<S: AsRef<str>>(&self, message: S)
pub fn warn<S: AsRef<str>>(&self, message: S)
pub fn error<S: AsRef<str>>(&self, message: S)
pub fn trace<S: AsRef<str>>(&self, message: S)
Sourcepub fn log_info<S: AsRef<str>>(&self, message: S)
pub fn log_info<S: AsRef<str>>(&self, message: S)
Alias for documentation consistency (calls the same-named method above).