package version

import (
	"fmt"
	"runtime"

	"github.com/pingcap/log"
	"go.uber.org/zap"
)

// Version information will be injected when compile stage.
// see: build scripts
var (
	GitHash   = "None"
	GitBranch = "None"
	goVersion = runtime.Version()
)

func LogInfo() {
	oldLevel := log.GetLevel()
	log.SetLevel(zap.InfoLevel)
	defer log.SetLevel(oldLevel)

	log.Info("release info",
		zap.String("git-hash", GitHash),
		zap.String("git-branch", GitBranch),
		zap.String("go-version", goVersion))
}

func Info() string {
	return fmt.Sprintf(`Git Commit Hash: %s
Git Branch: %s
Go Version: %s`, GitHash, GitBranch, goVersion)
}
