Initial commit

This commit is contained in:
2026-01-19 12:12:29 +07:00
commit 2072052437
42 changed files with 5450 additions and 0 deletions

51
pkg/logger/logger.go Normal file
View File

@@ -0,0 +1,51 @@
package logger
import (
"log"
"go.uber.org/zap"
)
// Logger defines the interface for logging
type Logger interface {
Info(msg string, fields ...interface{})
Error(msg string, fields ...interface{})
Debug(msg string, fields ...interface{})
Warn(msg string, fields ...interface{})
}
type zapLogger struct {
logger *zap.SugaredLogger
}
func NewLogger(mode string) Logger {
var l *zap.Logger
var err error
if mode == "release" {
l, err = zap.NewProduction()
} else {
l, err = zap.NewDevelopment()
}
if err != nil {
log.Fatalf("Failed to initialize logger: %v", err)
}
return &zapLogger{logger: l.Sugar()}
}
func (l *zapLogger) Info(msg string, fields ...interface{}) {
l.logger.Infow(msg, fields...)
}
func (l *zapLogger) Error(msg string, fields ...interface{}) {
l.logger.Errorw(msg, fields...)
}
func (l *zapLogger) Debug(msg string, fields ...interface{}) {
l.logger.Debugw(msg, fields...)
}
func (l *zapLogger) Warn(msg string, fields ...interface{}) {
l.logger.Warnw(msg, fields...)
}