core/printer/print.go

49 lines
1.1 KiB
Go
Raw Normal View History

package printer
2025-02-07 13:01:38 +08:00
import (
"bytes"
"encoding/json"
2025-02-07 13:01:38 +08:00
"fmt"
"log"
2025-02-21 15:11:34 +08:00
"os"
2025-02-07 13:01:38 +08:00
)
2025-02-21 15:11:34 +08:00
var logger *log.Logger
2025-02-21 14:37:01 +08:00
func init() {
2025-02-21 15:11:34 +08:00
logger = log.New(os.Stdout, "", 0) // 创建一个新的 Logger 实例,不带任何标志
logger.SetFlags(log.Ldate | log.Ltime)
2025-02-21 14:37:01 +08:00
}
2025-02-07 13:01:38 +08:00
// record INFO message. Color White
func Info(format string, a ...interface{}) {
2025-03-29 15:02:49 +08:00
message := fmt.Sprintf("\033[37m[Info] "+format+"\033[0m\n", a...)
2025-02-21 15:11:34 +08:00
logger.Print(message)
2025-02-07 13:01:38 +08:00
}
// record Warn message. Color Orange
func Warn(format string, a ...interface{}) {
2025-03-29 15:02:49 +08:00
message := fmt.Sprintf("\033[33m[Warn] "+format+"\033[0m\n", a...)
2025-02-21 15:11:34 +08:00
logger.Print(message)
2025-02-07 13:01:38 +08:00
}
// record Success message. Color Green
func Success(format string, a ...interface{}) {
2025-03-29 15:02:49 +08:00
message := fmt.Sprintf("\033[32m[Succ] "+format+"\033[0m\n", a...)
2025-02-21 15:11:34 +08:00
logger.Print(message)
2025-02-07 13:01:38 +08:00
}
// record ERROR message. Color Red
func Error(format string, a ...interface{}) {
2025-03-29 15:02:49 +08:00
message := fmt.Sprintf("\033[31m[Error] "+format+"\033[0m\n", a...)
2025-02-21 15:11:34 +08:00
logger.Print(message)
2025-02-07 13:01:38 +08:00
}
func Json(v any) {
jsonBy, _ := json.Marshal(v)
var out bytes.Buffer
json.Indent(&out, jsonBy, "", "\t")
out.WriteTo(os.Stdout)
fmt.Printf("\n")
}