github.com/StackExchange/blackbox/v2@v2.0.1-0.20220331193400-d84e904973ab/pkg/bblog/bblog.go (about) 1 package bblog 2 3 import ( 4 "io/ioutil" 5 "log" 6 "os" 7 ) 8 9 /* 10 11 To use this, include the following lines in your .go file. 12 13 var logErr *log.Logger 14 var logDebug *log.Logger 15 func init() { 16 logErr = bblog.GetErr() 17 logDebug = bblog.GetDebug(debug) 18 } 19 20 Or in a function: 21 22 logErr := bblog.GetErr() 23 logDebug := bblog.GetDebug(debug) 24 logDebug.Printf("whatever: %v", err) 25 26 */ 27 28 var logErr *log.Logger 29 var logDebug *log.Logger 30 31 // GetErr returns a logger handle used for errors 32 func GetErr() *log.Logger { 33 if logErr == nil { 34 logErr = log.New(os.Stderr, "", 0) 35 } 36 return logErr 37 } 38 39 // GetDebug returns a Logger handle used for debug info (output is discarded if viable=false) 40 func GetDebug(visible bool) *log.Logger { 41 if visible { 42 logDebug = log.New(os.Stderr, "", 0) 43 } else { 44 // Invisible mode (i.e. display nothing) 45 logDebug = log.New(ioutil.Discard, "", 0) 46 } 47 return logDebug 48 }