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  }