github.com/safing/portbase@v0.19.5/log/formatting_windows.go (about)

     1  package log
     2  
     3  import (
     4  	"github.com/safing/portbase/utils/osdetail"
     5  )
     6  
     7  const (
     8  	rightArrow = ">"
     9  	leftArrow  = "<"
    10  )
    11  
    12  const (
    13  	// colorBlack   = "\033[30m"
    14  	colorRed = "\033[31m"
    15  	// colorGreen   = "\033[32m"
    16  	colorYellow  = "\033[33m"
    17  	colorBlue    = "\033[34m"
    18  	colorMagenta = "\033[35m"
    19  	colorCyan    = "\033[36m"
    20  	// colorWhite   = "\033[37m"
    21  )
    22  
    23  var (
    24  	colorsSupported bool
    25  )
    26  
    27  func init() {
    28  	colorsSupported = osdetail.EnableColorSupport()
    29  }
    30  
    31  func (s Severity) color() string {
    32  	if colorsSupported {
    33  		switch s {
    34  		case DebugLevel:
    35  			return colorCyan
    36  		case InfoLevel:
    37  			return colorBlue
    38  		case WarningLevel:
    39  			return colorYellow
    40  		case ErrorLevel:
    41  			return colorRed
    42  		case CriticalLevel:
    43  			return colorMagenta
    44  		default:
    45  			return ""
    46  		}
    47  	}
    48  	return ""
    49  }
    50  
    51  func endColor() string {
    52  	if colorsSupported {
    53  		return "\033[0m"
    54  	}
    55  	return ""
    56  }