refactor: made logger a dependency
This commit is contained in:
@@ -13,18 +13,21 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"time"
|
|
||||||
"net/http"
|
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"go.uber.org/fx"
|
"go.uber.org/fx"
|
||||||
|
|
||||||
"easywish/config"
|
"easywish/config"
|
||||||
|
docs "easywish/docs"
|
||||||
"easywish/internal/controllers"
|
"easywish/internal/controllers"
|
||||||
"easywish/internal/logger"
|
"easywish/internal/logger"
|
||||||
"easywish/internal/routes"
|
"easywish/internal/routes"
|
||||||
"easywish/internal/services"
|
"easywish/internal/services"
|
||||||
docs "easywish/docs"
|
|
||||||
swaggerfiles "github.com/swaggo/files"
|
swaggerfiles "github.com/swaggo/files"
|
||||||
ginSwagger "github.com/swaggo/gin-swagger"
|
ginSwagger "github.com/swaggo/gin-swagger"
|
||||||
)
|
)
|
||||||
@@ -35,18 +38,15 @@ func main() {
|
|||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
defer logger.Sync()
|
|
||||||
|
|
||||||
fx.New(
|
fx.New(
|
||||||
services.Module,
|
|
||||||
fx.Provide(
|
fx.Provide(
|
||||||
|
logger.NewLogger,
|
||||||
gin.Default,
|
gin.Default,
|
||||||
controllers.NewAuthController,
|
|
||||||
controllers.NewServiceController,
|
|
||||||
),
|
),
|
||||||
|
services.Module,
|
||||||
|
controllers.Module,
|
||||||
routes.Module,
|
routes.Module,
|
||||||
|
|
||||||
|
|
||||||
fx.Invoke(func(lc fx.Lifecycle, router *gin.Engine) {
|
fx.Invoke(func(lc fx.Lifecycle, router *gin.Engine) {
|
||||||
|
|
||||||
// Swagger
|
// Swagger
|
||||||
@@ -54,7 +54,7 @@ func main() {
|
|||||||
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler))
|
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler))
|
||||||
|
|
||||||
server := &http.Server{
|
server := &http.Server{
|
||||||
Addr: ":8080",
|
Addr: fmt.Sprintf(":%s", config.GetConfig().Port),
|
||||||
Handler: router,
|
Handler: router,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
12
backend/internal/controllers/setup.go
Normal file
12
backend/internal/controllers/setup.go
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package controllers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go.uber.org/fx"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Module = fx.Module("controllers",
|
||||||
|
fx.Provide(
|
||||||
|
NewServiceController,
|
||||||
|
NewAuthController,
|
||||||
|
),
|
||||||
|
)
|
||||||
@@ -1,17 +1,31 @@
|
|||||||
package logger
|
package logger
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"go.uber.org/zap"
|
|
||||||
"easywish/config"
|
"easywish/config"
|
||||||
|
|
||||||
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Logger interface {
|
||||||
|
Get() *zap.Logger
|
||||||
|
Sync() error
|
||||||
|
}
|
||||||
|
|
||||||
|
type loggerImpl struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewLogger() Logger {
|
||||||
|
return &loggerImpl{}
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
once sync.Once
|
once sync.Once
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetLogger() *zap.Logger {
|
func (l *loggerImpl) Get() *zap.Logger {
|
||||||
once.Do(func() {
|
once.Do(func() {
|
||||||
var err error
|
var err error
|
||||||
cfg := config.GetConfig()
|
cfg := config.GetConfig()
|
||||||
@@ -28,6 +42,6 @@ func GetLogger() *zap.Logger {
|
|||||||
return logger
|
return logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func Sync() error {
|
func (l *loggerImpl) Sync() error {
|
||||||
return logger.Sync()
|
return logger.Sync()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user