40 lines
919 B
Go
40 lines
919 B
Go
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...)
|
|
}
|
|
}
|