log4rs_syslog_net/
consts.rs1use log::Level;
4use std::io;
5
6pub const NILVALUE: &str = "-";
8
9#[derive(Debug, Copy, Clone)]
11pub enum Facility {
12 KERN = 0,
14 USER = 1 << 3,
16 MAIL = 2 << 3,
18 DAEMON = 3 << 3,
20 AUTH = 4 << 3,
22 SYSLOG = 5 << 3,
24 LPR = 6 << 3,
26 NEWS = 7 << 3,
28 UUCP = 8 << 3,
30 CRON = 9 << 3,
32 AUTHPRIV = 10 << 3,
34 FTP = 11 << 3,
36 NTP = 12 << 3,
38 LOGAU = 13 << 3,
40 LOGALT = 14 << 3,
42 CRON2 = 15 << 3,
44 LOCAL0 = 16 << 3,
46 LOCAL1 = 17 << 3,
48 LOCAL2 = 18 << 3,
50 LOCAL3 = 19 << 3,
52 LOCAL4 = 20 << 3,
54 LOCAL5 = 21 << 3,
56 LOCAL6 = 22 << 3,
58 LOCAL7 = 23 << 3,
60}
61
62#[derive(Debug)]
64pub enum Severity {
65 EMERGENCY = 0,
67 ALERT = 1,
69 CRITICAL = 2,
71 ERROR = 3,
73 WARNING = 4,
75 NOTICE = 5,
77 INFO = 6,
79 DEBUG = 7,
81}
82
83#[doc(hidden)]
85pub fn level_to_severity(lvl: Level) -> u8 {
86 match lvl {
87 Level::Error => Severity::ERROR as u8,
88 Level::Warn => Severity::WARNING as u8,
89 Level::Info => Severity::INFO as u8,
90 Level::Debug => Severity::DEBUG as u8,
91 Level::Trace => Severity::DEBUG as u8,
92 }
93}
94
95#[doc(hidden)]
96pub fn parse_facility(f: &str) -> Result<Facility, io::Error> {
97 let res = match f.to_lowercase().as_str() {
98 "kern" => Facility::KERN,
99 "user" => Facility::USER,
100 "mail" => Facility::MAIL,
101 "daemon" => Facility::DAEMON,
102 "auth" => Facility::AUTH,
103 "syslog" => Facility::SYSLOG,
104 "lpr" => Facility::LPR,
105 "news" => Facility::NEWS,
106 "uucp" => Facility::UUCP,
107 "cron" => Facility::CRON,
108 "authpriv" => Facility::AUTHPRIV,
109 "ftp" => Facility::FTP,
110 "ntp" => Facility::NTP,
111 "logau" => Facility::LOGAU,
112 "logalt" => Facility::LOGALT,
113 "cron2" => Facility::CRON2,
114 "local0" => Facility::LOCAL0,
115 "local1" => Facility::LOCAL1,
116 "local2" => Facility::LOCAL2,
117 "local3" => Facility::LOCAL3,
118 "local4" => Facility::LOCAL4,
119 "local5" => Facility::LOCAL5,
120 "local6" => Facility::LOCAL6,
121 "local7" => Facility::LOCAL7,
122 _ => {
123 return Err(io::Error::new(
124 io::ErrorKind::Other,
125 format!("Unsupported facility {}", f).as_str(),
126 ))
127 }
128 };
129 Ok(res)
130}