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 }