pub struct OperationContext { /* private fields */ }Implementations§
Source§impl OperationContext
impl OperationContext
pub fn context(&self) -> &CallContext
pub fn result(&self) -> &OperationResult
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 new() -> Self
pub fn doing<S: Into<String>>(action: S) -> Self
pub fn at<S: Into<String>>(locator: S) -> Self
Sourcepub fn with_auto_log(self) -> AutoLogGuard
pub fn with_auto_log(self) -> AutoLogGuard
Arm automatic lifecycle logging by wrapping this context in an
AutoLogGuard.
The guard owns the context and, because it is deliberately not
Clone, writes the suc! / fail! / cancel! entry exactly once when
it is dropped. The context’s result at drop time selects the entry
(default: [OperationResult::Fail]).
To attach the same context to an error purely as data, clone through a
shared reference (err.with_context(&guard)); that copy never logs.
pub fn with_mod_path<S: Into<String>>(self, path: S) -> Self
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 with_field<K, V>(self, key: K, val: V) -> Self
pub fn with_field<K, V>(self, key: K, val: V) -> Self
Builder-pattern version of [record_field].
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.
Sourcepub fn with_meta<K, V>(self, key: K, value: V) -> Self
pub fn with_meta<K, V>(self, key: K, value: V) -> Self
Builder-pattern version of [record_meta].
pub fn mark_suc(&mut self)
pub fn mark_cancel(&mut self)
pub fn mark_fail(&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).
pub fn log_debug<S: AsRef<str>>(&self, message: S)
pub fn log_warn<S: AsRef<str>>(&self, message: S)
pub fn log_error<S: AsRef<str>>(&self, message: S)
pub fn log_trace<S: AsRef<str>>(&self, message: S)
Trait Implementations§
Source§impl Clone for OperationContext
impl Clone for OperationContext
Source§impl Debug for OperationContext
impl Debug for OperationContext
Source§impl Default for OperationContext
impl Default for OperationContext
Source§impl Display for OperationContext
impl Display for OperationContext
impl Eq for OperationContext
§impl From<&AutoLogGuard> for OperationContext
Attach an armed AutoLogGuard’s context to an error as pure data.
impl From<&AutoLogGuard> for OperationContext
Attach an armed AutoLogGuard’s context to an error as pure data.
Taking the guard by shared reference deliberately copies only the data; the
guard keeps ownership and remains the single owner responsible for the
drop-time log entry. There is intentionally no From<AutoLogGuard> (by
value): moving the guard into an error would defer/repeat its log.