///|
pub(all) enum Level {
Trace
Debug
Info
Warn
Error_
} derive(Eq, Compare)
///|
pub fn Level::to_string(self : Level) -> String {
match self {
Trace => "TRACE"
Debug => "DEBUG"
Info => "INFO"
Warn => "WARN"
Error_ => "ERROR"
}
}
///|
pub impl Show for Level with output(self, logger) {
logger.write_string(self.to_string())
}
///|
pub fn Level::to_json(self : Level) -> Json {
self.to_string().to_json()
}
///|
pub fn Level::from_string(s : String) -> Level? {
match s.to_upper() {
"TRACE" => Some(Trace)
"DEBUG" => Some(Debug)
"INFO" => Some(Info)
"WARN" => Some(Warn)
"ERROR" => Some(Error_)
_ => None
}
}