github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/event_logger/event_logger.go (about) 1 package event_logger 2 3 import ( 4 "go.uber.org/zap" 5 "go.uber.org/zap/zapcore" 6 ) 7 8 type Logger struct { 9 logger *zap.Logger 10 } 11 12 func New(l *zap.Logger) *Logger { 13 return &Logger{logger: l} 14 } 15 16 func (l *Logger) Log( 17 userID uint32, 18 category, 19 action string, 20 fields ...zapcore.Field, 21 ) { 22 f := make([]zapcore.Field, 0, len(fields)+1) 23 f = append( 24 f, 25 zap.String("category", category), 26 zap.String("action", action), 27 zap.Uint("userID", uint(userID)), 28 ) 29 f = append(f, fields...) 30 l.logger.Info("eventLog", f...) 31 }