#[derive(Debug, Copy, Clone)]
#[allow(clippy::module_name_repetitions)]
pub enum SyslogSeverity {
Emergency = 0,
Alert = 1,
Critical = 2,
Error = 3,
Warning = 4,
Notice = 5,
Info = 6,
Debug = 7,
}
#[allow(clippy::module_name_repetitions)]
pub type LevelToSyslogSeverity = fn(level: log::Level) -> SyslogSeverity;
pub(crate) fn default_mapping(level: log::Level) -> SyslogSeverity {
match level {
log::Level::Error => SyslogSeverity::Error,
log::Level::Warn => SyslogSeverity::Warning,
log::Level::Info => SyslogSeverity::Info,
log::Level::Debug | log::Level::Trace => SyslogSeverity::Debug,
}
}
#[cfg(unix)]
impl SyslogSeverity {
pub(crate) fn to_nix(self) -> nix::syslog::Severity {
match self {
SyslogSeverity::Emergency => nix::syslog::Severity::LOG_EMERG,
SyslogSeverity::Alert => nix::syslog::Severity::LOG_ALERT,
SyslogSeverity::Critical => nix::syslog::Severity::LOG_CRIT,
SyslogSeverity::Error => nix::syslog::Severity::LOG_ERR,
SyslogSeverity::Warning => nix::syslog::Severity::LOG_WARNING,
SyslogSeverity::Notice => nix::syslog::Severity::LOG_NOTICE,
SyslogSeverity::Info => nix::syslog::Severity::LOG_INFO,
SyslogSeverity::Debug => nix::syslog::Severity::LOG_DEBUG,
}
}
}