v2.6.5版本更新 (#1757)

* feature:增加资源加载loading

* feature:修正sql无法落盘的问题

* fixed: 修复切换角色出现404的问题。

* 删除selectImage.vue中chooseImg下多余的console.log(url)

---------

Co-authored-by: krank <emosick@qq.com>
Co-authored-by: Qing Liang <106448173+xue-ding-e@users.noreply.github.com>
This commit is contained in:
PiexlMax(奇淼
2024-05-26 21:49:34 +08:00
committed by GitHub
parent a6a65ed9f4
commit 02fc5036d7
25 changed files with 307 additions and 315 deletions

View File

@@ -1,14 +1,10 @@
package internal
import (
"gorm.io/gorm/schema"
"log"
"os"
"time"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"gorm.io/gorm/schema"
)
type DBBASE interface {
@@ -29,11 +25,7 @@ func (g *_gorm) Config(prefix string, singular bool) *gorm.Config {
},
DisableForeignKeyConstraintWhenMigrating: true,
}
_default := logger.New(log.New(os.Stdout, "\r\n", log.LstdFlags), logger.Config{
SlowThreshold: 200 * time.Millisecond,
LogLevel: logger.Warn,
Colorful: true,
})
_default := NewZapLogger()
var logMode DBBASE
switch global.GVA_CONFIG.System.DbType {
case "mysql":

View File

@@ -1,35 +1,66 @@
package internal
import (
"context"
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"gorm.io/gorm/logger"
"time"
)
type writer struct {
logger.Writer
type ZapLogger struct {
log *zap.Logger
}
// NewWriter writer 构造函数
// Author [SliverHorn](https://github.com/SliverHorn)
func NewWriter(w logger.Writer) *writer {
return &writer{Writer: w}
func NewZapLogger() logger.Interface {
newLogger := global.GVA_LOG.With(zap.String("type", "sql"))
return &ZapLogger{
log: newLogger,
}
}
// Printf 格式化打印日志
// Author [SliverHorn](https://github.com/SliverHorn)
func (w *writer) Printf(message string, data ...interface{}) {
var logZap bool
switch global.GVA_CONFIG.System.DbType {
case "mysql":
logZap = global.GVA_CONFIG.Mysql.LogZap
case "pgsql":
logZap = global.GVA_CONFIG.Pgsql.LogZap
func (l *ZapLogger) LogMode(level logger.LogLevel) logger.Interface {
var newLevel zapcore.Level
switch level {
case logger.Silent:
newLevel = zapcore.FatalLevel
case logger.Error:
newLevel = zapcore.ErrorLevel
case logger.Warn:
newLevel = zapcore.WarnLevel
case logger.Info:
newLevel = zapcore.InfoLevel
}
if logZap {
global.GVA_LOG.Info(fmt.Sprintf(message+"\n", data...))
} else {
w.Writer.Printf(message, data...)
// 这里为log设置新的level
l.log = l.log.WithOptions(zap.IncreaseLevel(newLevel))
return l
}
func (l *ZapLogger) Info(ctx context.Context, msg string, data ...interface{}) {
l.log.Info(fmt.Sprintf(msg, data...))
}
func (l *ZapLogger) Warn(ctx context.Context, msg string, data ...interface{}) {
l.log.Warn(fmt.Sprintf(msg, data...))
}
func (l *ZapLogger) Error(ctx context.Context, msg string, data ...interface{}) {
l.log.Error(fmt.Sprintf(msg, data...))
}
func (l *ZapLogger) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error) {
elapsed := time.Since(begin)
switch {
case err != nil && l.log.Core().Enabled(zap.ErrorLevel):
sql, _ := fc()
l.log.Error("trace", zap.String("elapsed", elapsed.String()), zap.String("sql", sql), zap.Error(err))
case elapsed > 200*time.Millisecond && l.log.Core().Enabled(zap.WarnLevel):
sql, _ := fc()
l.log.Warn("trace", zap.String("elapsed", elapsed.String()), zap.String("sql", sql))
case l.log.Core().Enabled(zap.InfoLevel):
sql, _ := fc()
l.log.Info("trace", zap.String("elapsed", elapsed.String()), zap.String("sql", sql))
}
}