github.com/pivotal-cf/go-pivnet/v6@v6.0.2/logshim/logshim.go (about)

     1  package logshim
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  
     7  	"github.com/pivotal-cf/go-pivnet/v6/logger"
     8  )
     9  
    10  type LogShim struct {
    11  	infoLogger  *log.Logger
    12  	debugLogger *log.Logger
    13  	verbose     bool
    14  }
    15  
    16  func NewLogShim(
    17  	infoLogger *log.Logger,
    18  	debugLogger *log.Logger,
    19  	verbose bool,
    20  ) *LogShim {
    21  	return &LogShim{
    22  		infoLogger:  infoLogger,
    23  		debugLogger: debugLogger,
    24  		verbose:     verbose,
    25  	}
    26  }
    27  
    28  func (l LogShim) Debug(action string, data ...logger.Data) {
    29  	if l.verbose {
    30  		l.debugLogger.Println(fmt.Sprintf("%s%s", action, appendString(data...)))
    31  	}
    32  }
    33  
    34  func (l LogShim) Info(action string, data ...logger.Data) {
    35  	l.infoLogger.Println(fmt.Sprintf("%s%s", action, appendString(data...)))
    36  }
    37  
    38  func appendString(data ...logger.Data) string {
    39  	if len(data) > 0 {
    40  		return fmt.Sprintf(" - %+v", data)
    41  	}
    42  	return ""
    43  }