///|
pub(all) enum LogLevel {
Debug
Info
Warn
Error
} derive(Eq, Debug)
///|
pub extend LogLevel with Eq::{not_equal, equal}
///|
pub extend LogLevel with @moonbitlang/core/debug.Debug::{to_repr}
///|
pub(all) struct LogEvent {
level : LogLevel
source : String
code : String
message : String
data : Json?
} derive(Debug)
///|
pub extend LogEvent with @moonbitlang/core/debug.Debug::{to_repr}
///|
pub(open) trait Logger {
fn log(Self, event : LogEvent) -> Unit
}