use std::fmt;
use crate::log::emit_log;
#[derive(Debug)]
pub struct ConfigError(pub String);
impl fmt::Display for ConfigError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.0)
}
}
impl std::error::Error for ConfigError {}
#[derive(Debug)]
pub struct RunError(pub String);
impl fmt::Display for RunError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.0)
}
}
impl std::error::Error for RunError {}
#[derive(Debug)]
pub struct StorageError(pub String);
impl fmt::Display for StorageError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.0)
}
}
impl std::error::Error for StorageError {}
#[derive(Debug)]
pub struct IoError(pub String);
impl fmt::Display for IoError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.0)
}
}
impl std::error::Error for IoError {}
pub fn emit(
run_id: &str,
entity: Option<&str>,
input: Option<&str>,
code: Option<&str>,
message: &str,
) {
emit_log("error", run_id, entity, input, code, message);
}