49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package printer
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
"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)
|
|
}
|
|
|
|
func Json(v any) {
|
|
jsonBy, _ := json.Marshal(v)
|
|
var out bytes.Buffer
|
|
json.Indent(&out, jsonBy, "", "\t")
|
|
out.WriteTo(os.Stdout)
|
|
fmt.Printf("\n")
|
|
}
|