package print

import (
	"fmt"
	"log"
	"os"
)

var logger *log.Logger

func init() {
	logger = log.New(os.Stdout, "", 0) // 创建一个新的 Logger 实例,不带任何标志
	logger.SetFlags(log.Ldate | log.Ltime)
}

// record INFO message. Color White
func Info(format string, a ...interface{}) {
	message := fmt.Sprintf("\033[37m[Info] "+format+"\033[0m\n", a...)
	logger.Print(message)
}

// record Warn message. Color Orange
func Warn(format string, a ...interface{}) {
	message := fmt.Sprintf("\033[33m[Warn] "+format+"\033[0m\n", a...)
	logger.Print(message)
}

// record Success message. Color Green
func Success(format string, a ...interface{}) {
	message := fmt.Sprintf("\033[32m[Succ] "+format+"\033[0m\n", a...)
	logger.Print(message)
}

// record ERROR message. Color Red
func Error(format string, a ...interface{}) {
	message := fmt.Sprintf("\033[31m[Error] "+format+"\033[0m\n", a...)
	logger.Print(message)
}