Improved logging, UI tweaks.

This commit is contained in:
2024-02-23 14:00:31 +01:00
parent 2119c2e56b
commit 676951e809
12 changed files with 64 additions and 13 deletions
+14 -1
View File
@@ -2,6 +2,7 @@ use std::error::Error;
use std::fmt::{Debug, Display, Formatter};
use chrono::ParseError;
use leptos::ServerFnError;
use log::error;
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
pub enum AppError {
@@ -28,6 +29,10 @@ impl AppError {
}
}
fn log_error(error: &dyn ToString) {
error!("Application error: {}", error.to_string());
}
impl Display for AppError {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.as_string())
@@ -38,6 +43,7 @@ impl Error for AppError {}
impl From<ServerFnError> for AppError {
fn from(value: ServerFnError) -> Self {
log_error(&value);
AppError::ServerError(value.to_string())
}
}
@@ -45,12 +51,14 @@ impl From<ServerFnError> for AppError {
#[cfg(feature = "ssr")]
impl From<sqlx::Error> for AppError {
fn from(value: sqlx::Error) -> Self {
log_error(&value);
AppError::FatalError(value.to_string())
}
}
impl From<ParseError> for AppError {
fn from(_value: ParseError) -> Self {
fn from(value: ParseError) -> Self {
log_error(&value);
AppError::HourParseError
}
}
@@ -58,6 +66,7 @@ impl From<ParseError> for AppError {
#[cfg(feature = "ssr")]
impl From<lettre::address::AddressError> for AppError {
fn from(value: lettre::address::AddressError) -> Self {
log_error(&value);
AppError::MailAddrParseErr(value.to_string())
}
}
@@ -65,6 +74,7 @@ impl From<lettre::address::AddressError> for AppError {
#[cfg(feature = "ssr")]
impl From<lettre::error::Error> for AppError {
fn from(value: lettre::error::Error) -> Self {
log_error(&value);
AppError::MailSendError(value.to_string())
}
}
@@ -72,6 +82,7 @@ impl From<lettre::error::Error> for AppError {
#[cfg(feature = "ssr")]
impl From<lettre::transport::smtp::Error> for AppError {
fn from(value: lettre::transport::smtp::Error) -> Self {
log_error(&value);
AppError::MailSendError(value.to_string())
}
}
@@ -79,6 +90,7 @@ impl From<lettre::transport::smtp::Error> for AppError {
#[cfg(feature = "ssr")]
impl From<lettre::transport::file::Error> for AppError {
fn from(value: lettre::transport::file::Error) -> Self {
log_error(&value);
AppError::MailSendError(value.to_string())
}
}
@@ -86,6 +98,7 @@ impl From<lettre::transport::file::Error> for AppError {
#[cfg(feature = "ssr")]
impl From<std::io::Error> for AppError {
fn from(value: std::io::Error) -> Self {
log_error(&value);
AppError::FileIOError(value.to_string())
}
}