use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("Configuration file not found: {0}")]
ConfigNotFound(String),
#[error("Failed to read configuration file: {0}")]
ConfigRead(#[from] std::io::Error),
#[error("Failed to parse configuration: {0}")]
ConfigParse(String),
#[error("Failed to initialize log bridge: {0}")]
LogBridgeInit(String),
#[error("Failed to set global tracing subscriber: {0}")]
GlobalSubscriberSet(String),
#[error("Appender setup failed for '{appender_name}': {reason}")]
AppenderSetup {
appender_name: String,
reason: String,
},
#[error("Invalid configuration value for '{field}': {message}")]
InvalidConfigValue { field: String, message: String },
#[error("Internal library error: {0}")]
Internal(String), }
pub type Result<T, E = Error> = std::result::Result<T, E>;