Skip to content

Commit

Permalink
refactor🎨 log格式优化,升级gorm版本
Browse files Browse the repository at this point in the history
  • Loading branch information
wenjianzhang committed May 22, 2021
1 parent 7bd76e8 commit 3f55d2f
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 36 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@
/.idea

/plugins/logger/zap/testdata/*
go.sum
6 changes: 3 additions & 3 deletions debug/log/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import (
)

var (
// Default buffer size if any
// DefaultSize Default buffer size if any
DefaultSize = 256
// Default formatter
// DefaultFormat Default formatter
DefaultFormat = TextFormat
)

Expand Down Expand Up @@ -40,7 +40,7 @@ type Stream interface {
Stop() error
}

// Format is a function which formats the output
// FormatFunc is a function which formats the output
type FormatFunc func(Record) string

// TextFormat returns text format
Expand Down
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ require (
github.com/golang/protobuf v1.4.2 // indirect
github.com/google/uuid v1.1.2
github.com/imdario/mergo v0.3.9
github.com/json-iterator/go v1.1.9
github.com/pkg/errors v0.9.1
github.com/robinjoseph08/redisqueue/v2 v2.1.0
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
Expand All @@ -24,6 +25,6 @@ require (
golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb // indirect
google.golang.org/protobuf v1.25.0
gorm.io/driver/mysql v1.0.3
gorm.io/gorm v1.21.6
gorm.io/gorm v1.21.10
gorm.io/plugin/dbresolver v1.1.0
)
26 changes: 20 additions & 6 deletions logger/default.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ type defaultLogger struct {
opts Options
}

// Init(opts...) should only overwrite provided options
// Init (opts...) should only overwrite provided options
func (l *defaultLogger) Init(opts ...Option) error {
for _, o := range opts {
o(&l.opts)
Expand Down Expand Up @@ -122,20 +122,34 @@ func (l *defaultLogger) logf(level Level, format string, v ...interface{}) {
sort.Strings(keys)
metadata := ""

for _, k := range keys {
metadata += fmt.Sprintf(" %s: %v", k, fields[k])
for i, k := range keys {
if i == 0 {
metadata += fmt.Sprintf("%s:%v", k, fields[k])
} else {
metadata += fmt.Sprintf(" %s:%v", k, fields[k])
}
}

var name string
if l.opts.Name != "" {
name = "[" + l.opts.Name + "]"
}
t := rec.Timestamp.Format("2006-01-02T15:04:05.000Z0700")
//fmt.Printf("%s %s %v\n", t, metadata, rec.Message)
_, err := l.opts.Out.Write([]byte(fmt.Sprintf("%s %s %s %v\n", name, t, metadata, rec.Message)))
t := rec.Timestamp.Format("2006-01-02 15:04:05.000Z0700")
//fmt.Printf("%s\n", t)
//fmt.Printf("%s\n", name)
//fmt.Printf("%s\n", metadata)
//fmt.Printf("%v\n", rec.Message)
logStr := ""
if name == "" {
logStr = fmt.Sprintf("%s %s %v\n", t, metadata, rec.Message)
} else {
logStr = fmt.Sprintf("%s %s %s %v\n", name, t, metadata, rec.Message)
}
_, err := l.opts.Out.Write([]byte(logStr))
if err != nil {
log.Printf("log [Logf] write error: %s \n", err.Error())
}

}

func (l *defaultLogger) Options() Options {
Expand Down
4 changes: 2 additions & 2 deletions logger/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
package logger

var (
// Default logger
// DefaultLogger logger
DefaultLogger Logger
)

// Logger is a generic logging interface
type Logger interface {
// Init initialises options
Init(options ...Option) error
// The Logger options
// Options The Logger options
Options() Options
// Fields set fields to always be logged
Fields(fields map[string]interface{}) Logger
Expand Down
48 changes: 24 additions & 24 deletions tools/gorm/logger/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ import (
loggerCore "github.com/go-admin-team/go-admin-core/logger"
)

//// Colors
//const (
// Reset = "\033[0m"
// Red = "\033[31m"
// Green = "\033[32m"
// Yellow = "\033[33m"
// Blue = "\033[34m"
// Magenta = "\033[35m"
// Cyan = "\033[36m"
// White = "\033[37m"
// BlueBold = "\033[34;1m"
// MagentaBold = "\033[35;1m"
// RedBold = "\033[31;1m"
// YellowBold = "\033[33;1m"
//)
// Colors
const (
Reset = "\033[0m"
Red = "\033[31m"
Green = "\033[32m"
Yellow = "\033[33m"
Blue = "\033[34m"
Magenta = "\033[35m"
Cyan = "\033[36m"
White = "\033[37m"
BlueBold = "\033[34;1m"
MagentaBold = "\033[35;1m"
RedBold = "\033[31;1m"
YellowBold = "\033[33;1m"
)

type gormLogger struct {
logger.Config
Expand Down Expand Up @@ -138,18 +138,18 @@ func New(config logger.Config) logger.Interface {
infoStr = "%s\n[info] "
warnStr = "%s\n[warn] "
errStr = "%s\n[error] "
traceStr = "%s [%.3fms] [rows:%v] %s"
traceWarnStr = "%s %s [%.3fms] [rows:%v] %s"
traceErrStr = "%s %s [%.3fms] [rows:%v] %s"
traceStr = "%s [%.3fms] [rows:%v] %s"
traceWarnStr = "%s %s [%.3fms] [rows:%v] %s"
traceErrStr = "%s %s [%.3fms] [rows:%v] %s"
)

//if config.Colorful {
// infoStr = Green + "%s\n" + Reset + Green + "[info] " + Reset
// warnStr = BlueBold + "%s\n" + Reset + Magenta + "[warn] " + Reset
// errStr = Magenta + "%s\n" + Reset + Red + "[error] " + Reset
// traceStr = Green + "%s\n" + Reset + Yellow + "[%.3fms] " + BlueBold + "[rows:%v]" + Reset + " %s"
// traceWarnStr = Green + "%s " + Yellow + "%s\n" + Reset + RedBold + "[%.3fms] " + Yellow + "[rows:%v]" + Magenta + " %s" + Reset
// traceErrStr = RedBold + "%s " + MagentaBold + "%s\n" + Reset + Yellow + "[%.3fms] " + BlueBold + "[rows:%v]" + Reset + " %s"
// infoStr = Green + "%s " + Reset + Green + "[info] " + Reset
// warnStr = BlueBold + "%s " + Reset + Magenta + "[warn] " + Reset
// errStr = Magenta + "%s " + Reset + Red + "[error] " + Reset
// traceStr = Green + "%s " + Reset + Yellow + "[%.3fms] " + BlueBold + "[rows:%v]" + Reset + " %s"
// traceWarnStr = Green + "%s " + Yellow + "%s " + Reset + RedBold + "[%.3fms] " + Yellow + "[rows:%v]" + Magenta + " %s" + Reset
// traceErrStr = RedBold + "%s " + MagentaBold + "%s " + Reset + Yellow + "[%.3fms] " + BlueBold + "[rows:%v]" + Reset + " %s"
//}

return &gormLogger{
Expand Down

0 comments on commit 3f55d2f

Please sign in to comment.