github.com/MetalBlockchain/metalgo@v1.11.9/utils/logging/color.go (about) 1 // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved. 2 // See the file LICENSE for licensing terms. 3 4 package logging 5 6 type Color string 7 8 // Colors 9 const ( 10 Black Color = "\033[0;30m" 11 DarkGray Color = "\033[1;30m" 12 Red Color = "\033[0;31m" 13 LightRed Color = "\033[1;31m" 14 Green Color = "\033[0;32m" 15 LightGreen Color = "\033[1;32m" 16 Orange Color = "\033[0;33m" 17 Yellow Color = "\033[1;33m" 18 Blue Color = "\033[0;34m" 19 LightBlue Color = "\033[1;34m" 20 Purple Color = "\033[0;35m" 21 LightPurple Color = "\033[1;35m" 22 Cyan Color = "\033[0;36m" 23 LightCyan Color = "\033[1;36m" 24 LightGray Color = "\033[0;37m" 25 White Color = "\033[1;37m" 26 27 Reset Color = "\033[0;0m" 28 Bold Color = "\033[;1m" 29 Reverse Color = "\033[;7m" 30 ) 31 32 var ( 33 levelToColor = map[Level]Color{ 34 Fatal: Red, 35 Error: Orange, 36 Warn: Yellow, 37 // Rather than using white, use the default to better support terminals 38 // with a white background. 39 Info: Reset, 40 Trace: LightPurple, 41 Debug: LightBlue, 42 Verbo: LightGreen, 43 } 44 45 levelToCapitalColorString = make(map[Level]string, len(levelToColor)) 46 unknownLevelColor = Reset 47 ) 48 49 func (lc Color) Wrap(text string) string { 50 return string(lc) + text + string(Reset) 51 } 52 53 func init() { 54 for level, color := range levelToColor { 55 levelToCapitalColorString[level] = color.Wrap(level.String()) 56 } 57 }