package logging type LogLevel string const ( LogLevelTrace LogLevel = "TRACE" LogLevelDebug LogLevel = "DEBUG" LogLevelInformation LogLevel = "INFO" LogLevelWarning LogLevel = "WARNING" LogLevelError LogLevel = "ERROR" LogLevelFatal LogLevel = "FATAL" ) const ( // Background colors BgBlack = "\033[40m" BgRed = "\033[41m" BgGreen = "\033[42m" BgYellow = "\033[43m" BgBlue = "\033[44m" BgMagenta = "\033[45m" BgCyan = "\033[46m" BgWhite = "\033[47m" // Reset Reset = "\033[0m" ) type Logger interface { Log(level LogLevel, format string, v ...any) } // LogAll takes all of the inputs for a single logger and executes the logging operation // on each of the loggers (logs) provided. This is just a convince function. func LogAll(logs []Logger, level LogLevel, format string, v ...any) { for _, log := range logs { log.Log(level, format, v...) } }