1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
// Copyright Materialize, Inc. and contributors. All rights reserved.
//
// Use of this software is governed by the Business Source License
// included in the LICENSE file.
//
// As of the Change Date specified in that file, in accordance with
// the Business Source License, use of this software will be governed
// by the Apache License, Version 2.0.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Severity {
Panic,
Fatal,
Error,
Warning,
Notice,
Debug,
Info,
Log,
}
impl Severity {
pub fn is_error(&self) -> bool {
matches!(self, Severity::Panic | Severity::Fatal | Severity::Error)
}
pub fn is_fatal(&self) -> bool {
matches!(self, Severity::Fatal)
}
pub fn as_str(&self) -> &'static str {
match self {
Severity::Error => "ERROR",
Severity::Fatal => "FATAL",
Severity::Panic => "PANIC",
Severity::Warning => "WARNING",
Severity::Notice => "NOTICE",
Severity::Debug => "DEBUG",
Severity::Info => "INFO",
Severity::Log => "LOG",
}
}
}