feat(backend): enhance logging setup and add image compression endpoints

This commit is contained in:
keven1024
2025-05-25 15:16:10 +08:00
parent 6ed90e9ac9
commit 09ddf205d9
5 changed files with 19 additions and 27 deletions

View File

@@ -37,7 +37,8 @@ require (
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.2 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/crypto v0.36.0 // indirect
golang.org/x/net v0.37.0 // indirect
golang.org/x/sys v0.31.0 // indirect

View File

@@ -80,6 +80,10 @@ go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
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.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.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/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=

View File

@@ -1,22 +0,0 @@
package utils
import "go.uber.org/zap"
var sugar *zap.SugaredLogger
func init() {
InitLogClient()
}
func InitLogClient() {
if sugar != nil {
return
}
logger, _ := zap.NewProduction()
sugar = logger.Sugar()
}
func GetLogClient() *zap.SugaredLogger {
InitLogClient()
return sugar
}

View File

@@ -2,12 +2,24 @@ package main
import (
"backend/internal/controllers"
"backend/internal/utils"
"backend/middleware"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
func main() {
// 日志
var logger *zap.Logger
if utils.GetEnvWithDefault("NODE_ENV", "production") == "production" {
logger, _ = zap.NewProduction()
} else {
logger, _ = zap.NewDevelopment()
}
defer logger.Sync()
zap.ReplaceGlobals(logger)
e := echo.New()
e.Use(middleware.ContextMiddleware())
e.Use(middleware.SessionMiddleware())

View File

@@ -1,20 +1,17 @@
package middleware
import (
"backend/internal/utils"
"github.com/labstack/echo/v4"
"github.com/labstack/echo/v4/middleware"
"go.uber.org/zap"
)
func LoggerMiddleware() echo.MiddlewareFunc {
log := utils.GetLogClient()
return middleware.RequestLoggerWithConfig(middleware.RequestLoggerConfig{
LogURI: true,
LogStatus: true,
LogValuesFunc: func(c echo.Context, v middleware.RequestLoggerValues) error {
log.Info("request",
zap.L().Info("request",
zap.String("url", v.URI),
zap.Int("status", v.Status),
zap.String("method", v.Method),