Skip to content

Commit

Permalink
Remove colors for non-debug
Browse files Browse the repository at this point in the history
  • Loading branch information
HannahMarsh committed Oct 2, 2024
1 parent 19ca372 commit e74ab13
Show file tree
Hide file tree
Showing 4 changed files with 179 additions and 87 deletions.
175 changes: 132 additions & 43 deletions colorFormatter.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ import (

type ColoredFormatter struct {
TimestampFormat string
LogLevel string
}

func (f *ColoredFormatter) Format(entry *logrus.Entry) ([]byte, error) {
levelColor := getColorByLevel(entry.Level)
levelColor := f.getColorByLevel(entry.Level)
timestamp := entry.Time.Format(f.TimestampFormat)

message := fmt.Sprintf("%s %-18s %s\n",
Expand All @@ -28,89 +29,177 @@ func (f *ColoredFormatter) Format(entry *logrus.Entry) ([]byte, error) {
return []byte(message), nil
}

func getColorByLevel(level logrus.Level) func(string) string {
func (f *ColoredFormatter) getColorByLevel(level logrus.Level) func(string) string {
switch level {
case logrus.DebugLevel:
return ColorCyan
return f.ColorCyan
case logrus.InfoLevel:
return ColorGreen
return f.ColorGreen
case logrus.WarnLevel:
return ColorYellow
return f.ColorYellow
case logrus.ErrorLevel, logrus.FatalLevel, logrus.PanicLevel:
return ColorRed
return f.ColorRed
default:
return ColorGrey
return f.ColorGrey
}
}

func ColorRed(s string) string {
return fmt.Sprintf("\033[31m%s\033[0m", s)
func (f *ColoredFormatter) ColorRed(s string) string {
if f.LogLevel == "debug" {
return fmt.Sprintf("\033[31m%s\033[0m", s)
} else {
return s
}
}

func ColorBrightRed(s string) string {
return fmt.Sprintf("\033[91m%s\033[0m", s)
func (f *ColoredFormatter) ColorBrightRed(s string) string {
if f.LogLevel == "debug" {
return fmt.Sprintf("\033[91m%s\033[0m", s)
} else {
return s
}
}

func ColorYellow(s string) string {
return fmt.Sprintf("\033[33m%s\033[0m", s)
func (f *ColoredFormatter) ColorYellow(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[33m%s\033[0m", s)
} else {
return s
}
}

func ColorBrightYellow(s string) string {
return fmt.Sprintf("\033[93m%s\033[0m", s)
func (f *ColoredFormatter) ColorBrightYellow(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[93m%s\033[0m", s)
} else {
return s
}
}

func ColorGreen(s string) string {
return fmt.Sprintf("\033[32m%s\033[0m", s)
func (f *ColoredFormatter) ColorGreen(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[32m%s\033[0m", s)
} else {
return s
}
}

func ColorBrightGreen(s string) string {
return fmt.Sprintf("\033[92m%s\033[0m", s)
func (f *ColoredFormatter) ColorBrightGreen(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[92m%s\033[0m", s)
} else {
return s
}
}

func ColorCyan(s string) string {
return fmt.Sprintf("\033[36m%s\033[0m", s)
func (f *ColoredFormatter) ColorCyan(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[36m%s\033[0m", s)
} else {
return s
}
}

func ColorBrightCyan(s string) string {
return fmt.Sprintf("\033[96m%s\033[0m", s)
func (f *ColoredFormatter) ColorBrightCyan(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[96m%s\033[0m", s)
} else {
return s
}
}

func ColorBlue(s string) string {
return fmt.Sprintf("\033[34m%s\033[0m", s)
func (f *ColoredFormatter) ColorBlue(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[34m%s\033[0m", s)
} else {
return s
}
}

func ColorBrightBlue(s string) string {
return fmt.Sprintf("\033[94m%s\033[0m", s)
func (f *ColoredFormatter) ColorBrightBlue(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[94m%s\033[0m", s)
} else {
return s
}
}

func ColorPurple(s string) string {
return fmt.Sprintf("\033[35m%s\033[0m", s) // Pink/magenta color
func (f *ColoredFormatter) ColorPurple(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[35m%s\033[0m", s) // Pink/magenta color
} else {
return s
}
}

func ColorPink(s string) string {
return fmt.Sprintf("\033[95m%s\033[0m", s)
func (f *ColoredFormatter) ColorPink(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[95m%s\033[0m", s)
} else {
return s
}
}

func ColorBrightWhite(s string) string {
return fmt.Sprintf("\033[97m%s\033[0m", s)
func (f *ColoredFormatter) ColorBrightWhite(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[97m%s\033[0m", s)
} else {
return s
}
}

func ColorGrey(s string) string {
return fmt.Sprintf("\033[37m%s\033[0m", s)
func (f *ColoredFormatter) ColorGrey(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[37m%s\033[0m", s)
} else {
return s
}
}

func ColorBlack(s string) string {
return fmt.Sprintf("\033[90m%s\033[0m", s)
func (f *ColoredFormatter) ColorBlack(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[90m%s\033[0m", s)
} else {
return s
}
}

func Bold(s string) string {
return fmt.Sprintf("\033[1m%s\033[0m", s) // Bold text
func (f *ColoredFormatter) Bold(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[1m%s\033[0m", s) // Bold text
} else {
return s
}
}

func Italic(s string) string {
return fmt.Sprintf("\033[3m%s\033[0m", s) // Italic text
func (f *ColoredFormatter) Italic(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[3m%s\033[0m", s) // Italic text
} else {
return s
}
}

func Underline(s string) string {
return fmt.Sprintf("\033[4m%s\033[0m", s) // Underlined text
func (f *ColoredFormatter) Underline(s string) string {
if f.LogLevel == "debug" {

return fmt.Sprintf("\033[4m%s\033[0m", s) // Underlined text
} else {
return s
}
}
64 changes: 32 additions & 32 deletions example/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,38 +27,38 @@ func FuncB(param int, strParam string) {

func main() {

fmt.Printf(PrettyLogger.ColorRed("Red:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorRed("Bold\t")) + PrettyLogger.ColorRed(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorRed(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorBrightRed("Bright Red:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightRed("Bold\t")) + PrettyLogger.ColorBrightRed(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightRed(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorBrightYellow("Bright Yellow:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightYellow("Bold\t")) + PrettyLogger.ColorBrightYellow(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightYellow(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorYellow("Yellow:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorYellow("Bold\t")) + PrettyLogger.ColorYellow(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorYellow(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorGreen("Green:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorGreen("Bold\t")) + PrettyLogger.ColorGreen(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorGreen(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorBrightGreen("Bright Green:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightGreen("Bold\t")) + PrettyLogger.ColorBrightGreen(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightGreen(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorCyan("Cyan:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorCyan("Bold\t")) + PrettyLogger.ColorCyan(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorCyan(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorBrightCyan("Bright Cyan:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightCyan("Bold\t")) + PrettyLogger.ColorBrightCyan(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightCyan(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorBlue("Blue:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorBlue("Bold\t")) + PrettyLogger.ColorBlue(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBlue(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorBrightBlue("Bright Blue:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightBlue("Bold\t")) + PrettyLogger.ColorBrightBlue(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightBlue(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorPurple("Purple:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorPurple("Bold\t")) + PrettyLogger.ColorPurple(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorPurple(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorPink("Pink:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorPink("Bold\t")) + PrettyLogger.ColorPink(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorPink(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorBrightWhite("Bright White:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightWhite("Bold\t")) + PrettyLogger.ColorBrightWhite(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightWhite(PrettyLogger.Underline("Underline\n")))
fmt.Printf("White:\t\t" + PrettyLogger.Bold("Bold\t") + PrettyLogger.Italic("Italic\t") + PrettyLogger.Underline("Underline\n"))

fmt.Printf(PrettyLogger.ColorGrey("Grey:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorGrey("Bold\t")) + PrettyLogger.ColorGrey(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorGrey(PrettyLogger.Underline("Underline\n")))

fmt.Printf(PrettyLogger.ColorBlack("Black:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorBlack("Bold\t")) + PrettyLogger.ColorBlack(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBlack(PrettyLogger.Underline("Underline\n")))

PrettyLogger.SetUpLogrusAndSlog("debug")
//fmt.Printf(PrettyLogger.ColorRed("Red:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorRed("Bold\t")) + PrettyLogger.ColorRed(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorRed(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorBrightRed("Bright Red:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightRed("Bold\t")) + PrettyLogger.ColorBrightRed(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightRed(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorBrightYellow("Bright Yellow:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightYellow("Bold\t")) + PrettyLogger.ColorBrightYellow(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightYellow(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorYellow("Yellow:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorYellow("Bold\t")) + PrettyLogger.ColorYellow(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorYellow(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorGreen("Green:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorGreen("Bold\t")) + PrettyLogger.ColorGreen(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorGreen(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorBrightGreen("Bright Green:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightGreen("Bold\t")) + PrettyLogger.ColorBrightGreen(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightGreen(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorCyan("Cyan:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorCyan("Bold\t")) + PrettyLogger.ColorCyan(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorCyan(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorBrightCyan("Bright Cyan:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightCyan("Bold\t")) + PrettyLogger.ColorBrightCyan(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightCyan(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorBlue("Blue:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorBlue("Bold\t")) + PrettyLogger.ColorBlue(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBlue(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorBrightBlue("Bright Blue:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightBlue("Bold\t")) + PrettyLogger.ColorBrightBlue(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightBlue(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorPurple("Purple:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorPurple("Bold\t")) + PrettyLogger.ColorPurple(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorPurple(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorPink("Pink:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorPink("Bold\t")) + PrettyLogger.ColorPink(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorPink(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorBrightWhite("Bright White:\t") + PrettyLogger.Bold(PrettyLogger.ColorBrightWhite("Bold\t")) + PrettyLogger.ColorBrightWhite(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBrightWhite(PrettyLogger.Underline("Underline\n")))
//fmt.Printf("White:\t\t" + PrettyLogger.Bold("Bold\t") + PrettyLogger.Italic("Italic\t") + PrettyLogger.Underline("Underline\n"))
//
//fmt.Printf(PrettyLogger.ColorGrey("Grey:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorGrey("Bold\t")) + PrettyLogger.ColorGrey(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorGrey(PrettyLogger.Underline("Underline\n")))
//
//fmt.Printf(PrettyLogger.ColorBlack("Black:\t\t") + PrettyLogger.Bold(PrettyLogger.ColorBlack("Bold\t")) + PrettyLogger.ColorBlack(PrettyLogger.Italic("Italic\t")) + PrettyLogger.ColorBlack(PrettyLogger.Underline("Underline\n")))

PrettyLogger.SetUpLogrusAndSlog("info")

err2 := pkg.F3()

Expand Down
18 changes: 9 additions & 9 deletions logrusAdapter.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@ func (h *LogrusHandler) Enabled(_ context.Context, _ slog.Level) bool {

var functionNames sync.Map
var colorFuncs = []func(string) string{
ColorBrightBlue,
ColorPurple,
ColorPink,
ColorBrightCyan,
ColorBrightYellow,
ColorBrightGreen,
cf.ColorBrightBlue,
cf.ColorPurple,
cf.ColorPink,
cf.ColorBrightCyan,
cf.ColorBrightYellow,
cf.ColorBrightGreen,
}
var index int64

Expand All @@ -87,7 +87,7 @@ func (h *LogrusHandler) Handle(ctx context.Context, rec slog.Record) error {
printMsg := ""

if rec.Level != slog.LevelError {
fnName := Italic(getFuncNameWithColor(GetFuncNameWithSkip(4)))
fnName := cf.Italic(getFuncNameWithColor(GetFuncNameWithSkip(4)))
loc := getLocation(4)
if len(fields) > 0 {
//str := ""
Expand All @@ -104,7 +104,7 @@ func (h *LogrusHandler) Handle(ctx context.Context, rec slog.Record) error {
for i, k := range keys {
paramStr := interfaceToString(fields[k])

vars[i] = fmt.Sprintf("%s=%s", Italic(ColorCyan(k)), Bold(paramStr))
vars[i] = fmt.Sprintf("%s=%s", cf.Italic(cf.ColorCyan(k)), cf.Bold(paramStr))
//str = str + fmt.Sprintf("%s=%v, ", k, fields[k])
}
str := strings.Join(vars, ", ")
Expand Down Expand Up @@ -134,7 +134,7 @@ func (h *LogrusHandler) Handle(ctx context.Context, rec slog.Record) error {
ew = strings.TrimSpace(ew)
i := strings.Index(ew, "\n")
fmt.Println()
entry.Error(ColorRed(ew[:i]) + "\n" + ew[i+1:] + "\n")
entry.Error(cf.ColorRed(ew[:i]) + "\n" + ew[i+1:] + "\n")
b = true
}
//}
Expand Down
9 changes: 6 additions & 3 deletions prettyLogger.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ import (
"time"
)

var cf *ColoredFormatter = &ColoredFormatter{TimestampFormat: time.RFC3339, LogLevel: "info"}

func SetUpLogrusAndSlog(logLevel string) {
logrus.SetFormatter(&ColoredFormatter{TimestampFormat: time.RFC3339})
cf = &ColoredFormatter{TimestampFormat: time.RFC3339, LogLevel: logLevel}
logrus.SetFormatter(cf)
logrus.SetOutput(os.Stdout)
logrus.SetLevel(ConvertLogLevel(logLevel))

Expand Down Expand Up @@ -169,10 +172,10 @@ func interfaceToString(field interface{}) string {
inter := val.Field(j)
if inter.CanInterface() {
value := interfaceToString(inter.Interface())
members = append(members, fmt.Sprintf("%s:%v", Italic(ColorGrey(typ.Field(j).Name)), value))
members = append(members, fmt.Sprintf("%s:%v", cf.Italic(cf.ColorGrey(typ.Field(j).Name)), value))
}
}
paramStr = fmt.Sprintf("%s{%s}", ColorGrey(typ.Name()), strings.Join(members, ", "))
paramStr = fmt.Sprintf("%s{%s}", cf.ColorGrey(typ.Name()), strings.Join(members, ", "))
} else {
paramStr = fmt.Sprintf("%v", paramValue.Interface())
}
Expand Down

0 comments on commit e74ab13

Please sign in to comment.