tauri_plugin_tracing/
error.rs1use serde::{Serialize, Serializer};
4
5pub type Result<T> = std::result::Result<T, Error>;
7
8#[derive(Debug, thiserror::Error)]
10#[cfg_attr(feature = "specta", derive(specta::Type))]
11pub enum Error {
12 #[error(transparent)]
14 #[cfg_attr(feature = "specta", specta(skip))]
15 Tauri(#[from] tauri::Error),
16
17 #[error(transparent)]
19 #[cfg_attr(feature = "specta", specta(skip))]
20 Io(#[from] std::io::Error),
21
22 #[error(transparent)]
24 #[cfg_attr(feature = "specta", specta(skip))]
25 TimeFormat(#[from] time::error::Format),
26
27 #[error(transparent)]
29 #[cfg_attr(feature = "specta", specta(skip))]
30 InvalidFormatDescription(#[from] time::error::InvalidFormatDescription),
31
32 #[error("Internal logger disabled and cannot be acquired or attached")]
34 LoggerNotInitialized,
35
36 #[error(transparent)]
38 #[cfg_attr(feature = "specta", specta(skip))]
39 SetGlobalDefault(#[from] tracing::subscriber::SetGlobalDefaultError),
40
41 #[error("Not implemented")]
43 NotImplemented,
44
45 #[error("Lock poisoned: {0}")]
47 LockPoisoned(String),
48}
49
50impl Serialize for Error {
51 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
52 where
53 S: Serializer,
54 {
55 serializer.serialize_str(self.to_string().as_ref())
56 }
57}