From 689d26a05556a37fa22c4dfb09ca851045f46f1c Mon Sep 17 00:00:00 2001 From: Blizzard Date: Sat, 26 Apr 2025 00:05:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=87=AA=E5=AE=9A=E4=B9=89=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E6=97=A5=E5=BF=97=E5=86=99=E5=85=A5=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- initialize/internal/gorm_logger_writer.go | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 initialize/internal/gorm_logger_writer.go diff --git a/initialize/internal/gorm_logger_writer.go b/initialize/internal/gorm_logger_writer.go new file mode 100644 index 0000000..691e9aa --- /dev/null +++ b/initialize/internal/gorm_logger_writer.go @@ -0,0 +1,39 @@ +package internal + +import ( + "fmt" + "gorm.io/gorm/logger" + "sundynix-go/config" + "sundynix-go/global" +) + +type Writer struct { + config config.GeneralDB + writer logger.Writer +} + +// NewWriter 创建一个Writer +func NewWriter(config config.GeneralDB) *Writer { + return &Writer{config: config} +} + +// Printf 格式化打印日志 +func (w *Writer) Printf(message string, data ...any) { + fmt.Printf(message, data) + //当开启了zap的情况下,会打印到日志记录中 + if w.config.LogZap { + switch w.config.LogLevel() { + case logger.Silent: + global.Logger.Debug(fmt.Sprintf(message, data)) + case logger.Error: + global.Logger.Error(fmt.Sprintf(message, data)) + case logger.Warn: + global.Logger.Warn(fmt.Sprintf(message, data)) + case logger.Info: + global.Logger.Info(fmt.Sprintf(message, data)) + default: + global.Logger.Info(fmt.Sprintf(message, data)) + } + return + } +}