Skip to main content

tuwunel_core/utils/result/
log_debug_err.rs

1use std::fmt::Debug;
2
3use tracing::Level;
4
5use super::{DebugInspect, Result};
6use crate::error;
7
8pub trait LogDebugErr<T, E: Debug> {
9	#[must_use]
10	fn err_debug_log(self, level: Level) -> Self;
11
12	#[must_use]
13	fn log_debug_err(self) -> Self
14	where
15		Self: Sized,
16	{
17		self.err_debug_log(Level::ERROR)
18	}
19}
20
21impl<T, E: Debug> LogDebugErr<T, E> for Result<T, E> {
22	#[inline]
23	fn err_debug_log(self, level: Level) -> Self {
24		self.debug_inspect_err(|error| error::inspect_debug_log_level(&error, level))
25	}
26}