// logger/logger.go package logger import ( "os" "strings" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) var Logger zerolog.Logger func init() { // Initialize the logger with your desired configuration Logger = log.Output(zerolog.ConsoleWriter{ Out: os.Stdout, NoColor: false, TimeFormat: "2006-01-02 15:04:05", FormatLevel: func(i interface{}) string { if ll, ok := i.(string); ok { switch ll { case "debug": return "\033[35m" + strings.ToUpper(ll) + "\033[0m" case "info": return "\033[36m" + strings.ToUpper(ll) + "\033[0m " case "warn": return "\033[33m" + strings.ToUpper(ll) + "\033[0m " case "error": return "\033[31m" + strings.ToUpper(ll) + "\033[0m" default: return strings.ToUpper(ll) } } return "" }, }).With().Caller().Logger() }