pub struct ErrorContext {
    pub error_id: String,
    pub timestamp: u64,
    pub operation: String,
    pub component: String,
    pub error_chain: Vec<String>,
    pub context_data: HashMap<String, String>,
    pub recovery_suggestions: Vec<String>,
    pub is_retryable: bool,
    pub severity: ErrorSeverity,
}Expand description
Rich error context for debugging and recovery
Fields§
§error_id: StringUnique error ID for tracking
timestamp: u64Timestamp when error occurred
operation: StringThe operation that was being performed
component: StringComponent or module where error occurred
error_chain: Vec<String>Stack of error causes
context_data: HashMap<String, String>Additional context data
recovery_suggestions: Vec<String>Recovery suggestions
is_retryable: boolWhether the operation can be retried
severity: ErrorSeveritySeverity level
Implementations§
Source§impl ErrorContext
 
impl ErrorContext
pub fn new(operation: &str, component: &str) -> Self
pub fn add_cause(self, cause: &str) -> Self
pub fn add_context(self, key: &str, value: &str) -> Self
pub fn add_recovery_suggestion(self, suggestion: &str) -> Self
pub fn set_retryable(self, retryable: bool) -> Self
pub fn set_severity(self, severity: ErrorSeverity) -> Self
Sourcepub fn format_detailed(&self) -> String
 
pub fn format_detailed(&self) -> String
Format the error context as a detailed error message
Trait Implementations§
Source§impl Clone for ErrorContext
 
impl Clone for ErrorContext
Source§fn clone(&self) -> ErrorContext
 
fn clone(&self) -> ErrorContext
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl Debug for ErrorContext
 
impl Debug for ErrorContext
Source§impl<'de> Deserialize<'de> for ErrorContext
 
impl<'de> Deserialize<'de> for ErrorContext
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ErrorContext
 
impl Display for ErrorContext
Auto Trait Implementations§
impl Freeze for ErrorContext
impl RefUnwindSafe for ErrorContext
impl Send for ErrorContext
impl Sync for ErrorContext
impl Unpin for ErrorContext
impl UnwindSafe for ErrorContext
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
Mutably borrows from an owned value. Read more
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>
Converts 
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>
Converts 
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