34 virtual void Log(std::string_view msg, Severity severity) = 0;
40 namespace SeverityUtils {
46 constexpr std::string_view
ToString(Severity severity)
noexcept {
48 case Severity::Fatal:
return "Fatal";
49 case Severity::Error:
return "Error";
50 case Severity::Warning:
return "Warning";
51 case Severity::Info:
return "Info";
52 case Severity::Debug:
return "Debug";
53 case Severity::Verbose:
return "Verbose";
54 default:
return "None";
63 constexpr Severity
FromString(std::string_view severity)
noexcept {
64 if (severity ==
"Fatal") {
65 return Severity::Fatal;
66 }
else if (severity ==
"Error") {
67 return Severity::Error;
68 }
else if (severity ==
"Warning") {
69 return Severity::Warning;
70 }
else if (severity ==
"Info") {
71 return Severity::Info;
72 }
else if (severity ==
"Debug") {
73 return Severity::Debug;
74 }
else if (severity ==
"Verbose") {
75 return Severity::Verbose;
77 return Severity::None;
Interface for logging messages with different severity levels.
virtual void Log(std::string_view msg, Severity severity)=0
Log a message with the specified severity level.
constexpr std::string_view ToString(Severity severity) noexcept
Convert a Severity enum value to its string representation.
constexpr Severity FromString(std::string_view severity) noexcept
Convert a string representation to a Severity enum value.