sozu_command_lib/logging/
mod.rs

1//! Sōzu logs, optimized for performance
2//!
3//! Instead of relying on well-known logging or tracing solutions,
4//! Sōzu has its own logging stack that prioritizes CPU performance
5
6pub mod access_logs;
7pub mod display;
8#[macro_use]
9pub mod logs;
10
11use std::net::AddrParseError;
12
13pub use crate::logging::access_logs::*;
14pub use crate::logging::logs::*;
15
16#[derive(thiserror::Error, Debug)]
17pub enum LogError {
18    #[error("invalid log target {0}: {1}")]
19    InvalidLogTarget(String, &'static str),
20    #[error("invalid log target {0}: {1}")]
21    InvalidSocketAddress(String, AddrParseError),
22    #[error("could not open log file {0}: {1}")]
23    OpenFile(String, std::io::Error),
24    #[error("could not connect to TCP socket {0}: {1}")]
25    TcpConnect(String, std::io::Error),
26    #[error("could not create unbound UNIX datagram: {0}")]
27    CreateUnixSocket(std::io::Error),
28    #[error("could not connect to UNIX datagram {0}: {1}")]
29    ConnectToUnixSocket(String, std::io::Error),
30    #[error("could not bind to UDP socket: {0}")]
31    UdpBind(std::io::Error),
32}