package logutil

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

// SetLevel sets the zap logger's level.
func SetLevel(level string) error {
	l := zap.NewAtomicLevel()
	if err := l.UnmarshalText([]byte(level)); err != nil {
		return err
	}
	log.SetLevel(l.Level())
	return nil
}

// AssertTrue asserts that b is true. Otherwise, it would log fatal.
func Assert(b bool) {
	if !b {
		log.S().Fatalf("Assert failed")
	}
}

// AssertTruef is AssertTrue with extra info.
func AssertTruef(b bool, format string, args ...interface{}) {
	if !b {
		log.S().Fatalf(format, args...)
	}
}
