diff --git a/go.mod b/go.mod index 96f64aa..0b4fc0b 100644 --- a/go.mod +++ b/go.mod @@ -49,7 +49,8 @@ require ( github.com/valyala/fasthttp v1.57.0 // indirect github.com/valyala/tcplisten v1.0.0 // indirect go.uber.org/atomic v1.9.0 // indirect - go.uber.org/multierr v1.9.0 // indirect + go.uber.org/multierr v1.10.0 // indirect + go.uber.org/zap v1.27.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/sys v0.27.0 // indirect golang.org/x/text v0.19.0 // indirect diff --git a/go.sum b/go.sum index df52f6e..bb9d46f 100644 --- a/go.sum +++ b/go.sum @@ -107,6 +107,10 @@ go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= +go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ= +go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= diff --git a/main.go b/main.go index a7ef531..8d485fe 100644 --- a/main.go +++ b/main.go @@ -3,7 +3,6 @@ package main import ( "crypto/sha256" "crypto/subtle" - "log" "git.odit.services/lfk/document-server/docs" // Correct import path for docs "git.odit.services/lfk/document-server/handlers" @@ -16,10 +15,12 @@ import ( "github.com/gofiber/swagger" "github.com/redis/go-redis/v9" "github.com/spf13/viper" + "go.uber.org/zap" ) var ( config *models.Config + logger *zap.SugaredLogger ) func validateAPIKey(c *fiber.Ctx, key string) (bool, error) { @@ -57,7 +58,7 @@ func loadEnv() error { viper.AutomaticEnv() err := viper.ReadInConfig() if err != nil { - log.Println("No .env file found") + logger.Warn("No .env file found") } // Unmarshal the config from file and env into the config struct @@ -66,7 +67,7 @@ func loadEnv() error { return err } - log.Printf("Loaded config: %+v\n", config) + logger.Infow("Loaded config", config) return nil } @@ -83,14 +84,21 @@ func loadEnv() error { // @name key func main() { + // Init the logger + zapLogger, _ := zap.NewProduction() + defer zapLogger.Sync() + logger = zapLogger.Sugar() + logger.Info("Logger initialized") + err := loadEnv() if err != nil { - log.Fatal(err) + logger.Error(err) + return } var redisClient *redis.Client if config.RedisAddr != "" { - log.Println("Using redis at", config.RedisAddr) + logger.Infow("Using redis", config.RedisAddr) redisClient = redis.NewClient(&redis.Options{ Addr: config.RedisAddr, }) @@ -143,5 +151,5 @@ func main() { app.Use(handler.NotFoundHandler) docs.SwaggerInfo.BasePath = "/" - log.Fatal(app.Listen("0.0.0.0:" + config.Port)) + logger.Error(app.Listen("0.0.0.0:" + config.Port)) }