vitess.io/vitess@v0.16.2/go/vt/vtgr/log/log.go (about)

     1  package log
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"vitess.io/vitess/go/vt/log"
     7  )
     8  
     9  // Logger is a wrapper that prefix loglines with keyspace/shard
    10  type Logger struct {
    11  	prefix string
    12  }
    13  
    14  // NewVTGRLogger creates a new logger
    15  func NewVTGRLogger(keyspace, shard string) *Logger {
    16  	return &Logger{
    17  		prefix: fmt.Sprintf("%s/%s", keyspace, shard),
    18  	}
    19  }
    20  
    21  // Info formats arguments like fmt.Print
    22  func (logger *Logger) Info(msg string) {
    23  	log.InfoDepth(1, logger.annotate(msg))
    24  }
    25  
    26  // Infof formats arguments like fmt.Printf.
    27  func (logger *Logger) Infof(format string, args ...any) {
    28  	log.InfoDepth(1, logger.annotate(fmt.Sprintf(format, args...)))
    29  }
    30  
    31  // Warning formats arguments like fmt.Print
    32  func (logger *Logger) Warning(msg string) {
    33  	log.WarningDepth(1, logger.annotate(msg))
    34  }
    35  
    36  // Warningf formats arguments like fmt.Printf.
    37  func (logger *Logger) Warningf(format string, args ...any) {
    38  	log.WarningDepth(1, logger.annotate(fmt.Sprintf(format, args...)))
    39  }
    40  
    41  // Error formats arguments like fmt.Print
    42  func (logger *Logger) Error(msg string) {
    43  	log.ErrorDepth(1, logger.annotate(msg))
    44  }
    45  
    46  // Errorf formats arguments like fmt.Printf.
    47  func (logger *Logger) Errorf(format string, args ...any) {
    48  	log.ErrorDepth(1, logger.annotate(fmt.Sprintf(format, args...)))
    49  }
    50  
    51  func (logger *Logger) annotate(input string) string {
    52  	return fmt.Sprintf("shard=%s %s", logger.prefix, input)
    53  }