drive_abci/logging/
error.rs

1use std::path::PathBuf;
2use tracing_subscriber::filter::ParseError;
3use tracing_subscriber::util::TryInitError;
4
5/// Errors returned by logging subsystem
6#[derive(thiserror::Error, Debug)]
7pub enum Error {
8    /// File rotation error
9    #[error("file rotation: {0}")]
10    FileRotate(std::io::Error),
11
12    /// File creation error
13    #[error("create file {0}: {1}")]
14    FileCreate(PathBuf, std::io::Error),
15
16    /// Log file path is invalid
17    #[error("log file path {0}: {1}")]
18    FilePath(PathBuf, String),
19
20    /// Duplicate config
21    #[error("duplicate log configuration name {0}")]
22    DuplicateConfigName(String),
23
24    /// Undefined verbosity level
25    #[error("undefined log verbosity level {0}")]
26    InvalidVerbosityLevel(u8),
27
28    /// Failed to parse log specification string
29    #[error("invalid log specification {0}")]
30    InvalidLogSpecification(ParseError),
31
32    /// Failed to initialize logging
33    #[error("failed to initialize logging {0}")]
34    TryInitError(TryInitError),
35}