go-ml.dev/pkg/base@v0.0.0-20200610162856-60c38abac71b/fu/verbose/verbose.go (about) 1 package verbose 2 3 import ( 4 "fmt" 5 "go-ml.dev/pkg/zorros/zlog" 6 ) 7 8 type VerboseKind int 9 10 const ( 11 Silent VerboseKind = iota 12 Print 13 Log 14 ) 15 16 var Verbose = Silent 17 18 func Markup() string { 19 return "### " 20 } 21 22 func Println(a ...interface{}) { 23 switch Verbose { 24 case Print: 25 fmt.Println(append([]interface{}{Markup()}, a...)) 26 case Log: 27 zlog.Info(a...) 28 } 29 } 30 31 func Printf(f string, a ...interface{}) { 32 switch Verbose { 33 case Print: 34 fmt.Printf(f+"\n", a...) 35 case Log: 36 zlog.Infof(f, a...) 37 } 38 } 39 40 func BeVerbose(kind VerboseKind) (old VerboseKind) { 41 old = Verbose 42 Verbose = kind 43 return 44 } 45 46 func (old VerboseKind) Revert() { 47 Verbose = old 48 }