changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / rust/lib/logger/src/err.rs

changeset 698: 96958d3eb5b0
parent: 1227f932b628
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
1 //! logger errors
2 use std::{fmt, io};
3 
4 use flexi_logger::FlexiLoggerError;
5 
6 /// logger Result type
7 pub type Result<T> = std::result::Result<T, Error>;
8 
9 /// logger Error type
10 pub enum Error {
11  Io(io::Error),
12  Flexi(FlexiLoggerError),
13  Log(log::SetLoggerError),
14 }
15 
16 impl fmt::Display for Error {
17  fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
18  match *self {
19  Error::Io(ref err) => write!(f, "IO error: {}", err),
20  Error::Flexi(ref err) => write!(f, "FlexiLog error: {}", err),
21  Error::Log(ref err) => write!(f, "Log error: {}", err),
22  }
23  }
24 }
25 
26 impl fmt::Debug for Error {
27  fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
28  match *self {
29  Error::Io(ref err) => write!(f, "IO error: {}", err),
30  Error::Flexi(ref err) => write!(f, "FlexiLog error: {}", err),
31  Error::Log(ref err) => write!(f, "Log error: {}", err),
32  }
33  }
34 }
35 
36 impl From<FlexiLoggerError> for Error {
37  fn from(err: FlexiLoggerError) -> Self {
38  Error::Flexi(err)
39  }
40 }
41 
42 impl From<log::SetLoggerError> for Error {
43  fn from(e: log::SetLoggerError) -> Self {
44  Error::Log(e)
45  }
46 }
47 
48 impl From<io::Error> for Error {
49  fn from(e: io::Error) -> Self {
50  Error::Io(e)
51  }
52 }
53 impl std::error::Error for Error {}