diff --git a/providers/database/mysql.go b/providers/database/mysql.go index 44ec7e4..b5e4740 100644 --- a/providers/database/mysql.go +++ b/providers/database/mysql.go @@ -3,8 +3,8 @@ package mysql import ( "atom/container" "atom/providers/config" - "atom/providers/logger" "database/sql" + "log" "gorm.io/driver/mysql" "gorm.io/gorm" @@ -12,7 +12,7 @@ import ( func init() { if err := container.Container.Provide(NewDatabase); err != nil { - logger.Fatal(err) + log.Fatal(err) } } diff --git a/providers/http/engine.go b/providers/http/engine.go index 8bb78e1..48e1ef3 100644 --- a/providers/http/engine.go +++ b/providers/http/engine.go @@ -3,9 +3,8 @@ package http import ( "atom/container" "atom/providers/config" - "atom/providers/logger" + "atom/providers/log" "fmt" - "log" "time" "github.com/gin-gonic/gin" @@ -30,7 +29,7 @@ func (e *Service) Serve() error { return e.Engine.Run(e.conf.Http.PortString()) } -func NewService(cfg *config.Config, logger *logger.Logger) *Service { +func NewService(cfg *config.Config, logger *log.Logger) *Service { gin.DefaultWriter = logger.LevelWriter(zap.InfoLevel) gin.DefaultErrorWriter = logger.LevelWriter(zap.ErrorLevel) diff --git a/providers/log/gin_level_writer.go b/providers/log/gin_level_writer.go index 30479df..dc312a3 100644 --- a/providers/log/gin_level_writer.go +++ b/providers/log/gin_level_writer.go @@ -7,8 +7,7 @@ import ( ) type LevelWriter struct { - Logger *Logger - Level zapcore.Level + Level zapcore.Level } func (w LevelWriter) Write(p []byte) (n int, err error) { diff --git a/providers/log/logger.go b/providers/log/logger.go index 1dc0730..04d6c8f 100644 --- a/providers/log/logger.go +++ b/providers/log/logger.go @@ -5,6 +5,7 @@ import ( "log" "go.uber.org/zap" + "go.uber.org/zap/zapcore" ) func init() { @@ -19,6 +20,10 @@ type Logger struct { logger *zap.SugaredLogger } +func (l *Logger) LevelWriter(level zapcore.Level) *LevelWriter { + return &LevelWriter{Level: level} +} + // Debug uses fmt.Sprint to construct and log a message. func Debug(args ...interface{}) { DefaultLogger.logger.Debug(args...) diff --git a/providers/log/zap.go b/providers/log/zap.go index db34f39..a621c90 100644 --- a/providers/log/zap.go +++ b/providers/log/zap.go @@ -2,13 +2,11 @@ package log import ( "atom/providers/config" - "log" "go.uber.org/zap" ) func NewZapLogger(conf *config.Config) (*Logger, error) { - log.Print("init logger") logger, err := zap.NewDevelopment() if err != nil { return nil, err diff --git a/providers/logger/gin_level_writer.go b/providers/logger/gin_level_writer.go deleted file mode 100644 index a0300c5..0000000 --- a/providers/logger/gin_level_writer.go +++ /dev/null @@ -1,22 +0,0 @@ -package logger - -import ( - "strings" - - "go.uber.org/zap/zapcore" -) - -type LevelWriter struct { - Level zapcore.Level -} - -func (w LevelWriter) Write(p []byte) (n int, err error) { - str := strings.TrimSpace(string(p)) - switch w.Level { - case zapcore.InfoLevel: - Info(str) - case zapcore.ErrorLevel: - Error(str) - } - return len(p), nil -} diff --git a/providers/logger/logger.go b/providers/logger/logger.go deleted file mode 100644 index 6ad5b35..0000000 --- a/providers/logger/logger.go +++ /dev/null @@ -1,149 +0,0 @@ -package logger - -import ( - "atom/container" - "log" - - "go.uber.org/zap" - "go.uber.org/zap/zapcore" -) - -func init() { - if err := container.Container.Provide(NewZapLogger); err != nil { - log.Fatal(err) - } -} - -var DefaultLogger *Logger - -type Logger struct { - logger *zap.SugaredLogger -} - -func (l *Logger) LevelWriter(level zapcore.Level) *LevelWriter { - return &LevelWriter{Level: level} -} - -// Debug uses fmt.Sprint to construct and log a message. -func Debug(args ...interface{}) { - DefaultLogger.logger.Debug(args...) -} - -// Info uses fmt.Sprint to construct and log a message. -func Info(args ...interface{}) { - DefaultLogger.logger.Info(args...) -} - -// Warn uses fmt.Sprint to construct and log a message. -func Warn(args ...interface{}) { - DefaultLogger.logger.Warn(args...) -} - -// Error uses fmt.Sprint to construct and log a message. -func Error(args ...interface{}) { - DefaultLogger.logger.Error(args...) -} - -// DPanic uses fmt.Sprint to construct and log a message. In development, the -// logger then panics. (See DPanicLevel for details.) -func DPanic(args ...interface{}) { - DefaultLogger.logger.DPanic(args...) -} - -// Panic uses fmt.Sprint to construct and log a message, then panics. -func Panic(args ...interface{}) { - DefaultLogger.logger.Panic(args...) -} - -// Fatal uses fmt.Sprint to construct and log a message, then calls os.Exit. -func Fatal(args ...interface{}) { - DefaultLogger.logger.Fatal(args...) -} - -// Debugf uses fmt.Sprintf to log a templated message. -func Debugf(template string, args ...interface{}) { - DefaultLogger.logger.Debugf(template, args...) -} - -// Infof uses fmt.Sprintf to log a templated message. -func Infof(template string, args ...interface{}) { - DefaultLogger.logger.Infof(template, args...) -} - -// Warnf uses fmt.Sprintf to log a templated message. -func Warnf(template string, args ...interface{}) { - DefaultLogger.logger.Warnf(template, args...) -} - -// Errorf uses fmt.Sprintf to log a templated message. -func Errorf(template string, args ...interface{}) { - DefaultLogger.logger.Errorf(template, args...) -} - -// DPanicf uses fmt.Sprintf to log a templated message. In development, the -// logger then panics. (See DPanicLevel for details.) -func DPanicf(template string, args ...interface{}) { - DefaultLogger.logger.DPanicf(template, args...) -} - -// Panicf uses fmt.Sprintf to log a templated message, then panics. -func Panicf(template string, args ...interface{}) { - DefaultLogger.logger.Panicf(template, args...) -} - -// Fatalf uses fmt.Sprintf to log a templated message, then calls os.Exit. -func Fatalf(template string, args ...interface{}) { - DefaultLogger.logger.Fatalf(template, args...) -} - -// Debugw logs a message with some additional context. The variadic key-value -// pairs are treated as they are in With. -// -// When debug-level logging is disabled, this is much faster than -// -// s.With(keysAndValues).Debug(msg) -func Debugw(msg string, keysAndValues ...interface{}) { - DefaultLogger.logger.Debugw(msg, keysAndValues...) -} - -// Infow logs a message with some additional context. The variadic key-value -// pairs are treated as they are in With. -func Infow(msg string, keysAndValues ...interface{}) { - DefaultLogger.logger.Infow(msg, keysAndValues...) -} - -// Warnw logs a message with some additional context. The variadic key-value -// pairs are treated as they are in With. -func Warnw(msg string, keysAndValues ...interface{}) { - DefaultLogger.logger.Warnw(msg, keysAndValues...) -} - -// Errorw logs a message with some additional context. The variadic key-value -// pairs are treated as they are in With. -func Errorw(msg string, keysAndValues ...interface{}) { - DefaultLogger.logger.Errorw(msg, keysAndValues...) -} - -// DPanicw logs a message with some additional context. In development, the -// logger then panics. (See DPanicLevel for details.) The variadic key-value -// pairs are treated as they are in With. -func DPanicw(msg string, keysAndValues ...interface{}) { - DefaultLogger.logger.DPanicw(msg, keysAndValues...) -} - -// Panicw logs a message with some additional context, then panics. The -// variadic key-value pairs are treated as they are in With. -func Panicw(msg string, keysAndValues ...interface{}) { - DefaultLogger.logger.Panicw(msg, keysAndValues...) -} - -// Fatalw logs a message with some additional context, then calls os.Exit. The -// variadic key-value pairs are treated as they are in With. -func Fatalw(msg string, keysAndValues ...interface{}) { - DefaultLogger.logger.Fatalw(msg, keysAndValues...) -} - -// Sync flushes any buffered log entries. -func Sync() error { - return DefaultLogger.logger.Sync() -} diff --git a/providers/logger/zap.go b/providers/logger/zap.go deleted file mode 100644 index b8c85c2..0000000 --- a/providers/logger/zap.go +++ /dev/null @@ -1,16 +0,0 @@ -package logger - -import ( - "atom/providers/config" - - "go.uber.org/zap" -) - -func NewZapLogger(conf *config.Config) (*Logger, error) { - logger, err := zap.NewDevelopment() - if err != nil { - return nil, err - } - DefaultLogger = &Logger{logger: logger.Sugar()} - return DefaultLogger, nil -} diff --git a/providers/provider.go b/providers/provider.go index 9fead5b..e7f3549 100644 --- a/providers/provider.go +++ b/providers/provider.go @@ -5,6 +5,6 @@ import ( _ "atom/providers/database" _ "atom/providers/faker" _ "atom/providers/http" - _ "atom/providers/logger" + _ "atom/providers/log" _ "atom/providers/micro" ) diff --git a/services/http/http.go b/services/http/http.go index 1f0a11c..ccbf459 100644 --- a/services/http/http.go +++ b/services/http/http.go @@ -6,7 +6,7 @@ import ( "atom/contracts" "atom/providers/config" "atom/providers/http" - "atom/providers/logger" + "atom/providers/log" "go.uber.org/dig" ) @@ -20,11 +20,11 @@ type Http struct { } func Serve(http Http) error { - logger.Infof("http service port %s", http.Conf.Http.Address()) + log.Infof("http service port %s", http.Conf.Http.Address()) for _, route := range http.Routes { route.Register() } - logger.Infof("starting server on %s", http.Conf.Http.Address()) + log.Infof("starting server on %s", http.Conf.Http.Address()) return http.Service.Serve() }