feat: update log package
This commit is contained in:
parent
58f0560042
commit
c9ace7c105
@ -12,6 +12,15 @@ var (
|
|||||||
fmt.Printf(prefix+"| "+timestamp+" | "+msg+"\n", data...)
|
fmt.Printf(prefix+"| "+timestamp+" | "+msg+"\n", data...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
panicLogger = func(prefix, timestamp, msg string, data ...any) {
|
||||||
|
panic(fmt.Sprintf(prefix+"| "+timestamp+" | "+msg+"\n", data...))
|
||||||
|
}
|
||||||
|
|
||||||
|
fatalLogger = func(prefix, timestamp, msg string, data ...any) {
|
||||||
|
fmt.Printf(prefix+"| "+timestamp+" | "+msg+"\n", data...)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
defaultLogger = &logger{
|
defaultLogger = &logger{
|
||||||
Mutex: sync.Mutex{},
|
Mutex: sync.Mutex{},
|
||||||
timeFormat: "2006-01-02T15:04:05",
|
timeFormat: "2006-01-02T15:04:05",
|
||||||
@ -21,6 +30,8 @@ var (
|
|||||||
info: normalLogger,
|
info: normalLogger,
|
||||||
warn: normalLogger,
|
warn: normalLogger,
|
||||||
error: normalLogger,
|
error: normalLogger,
|
||||||
|
panic: panicLogger,
|
||||||
|
fatal: fatalLogger,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -46,3 +57,11 @@ func Warn(msg string, data ...any) {
|
|||||||
func Error(msg string, data ...any) {
|
func Error(msg string, data ...any) {
|
||||||
defaultLogger.Error(msg, data...)
|
defaultLogger.Error(msg, data...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Panic(msg string, data ...any) {
|
||||||
|
defaultLogger.Panic(msg, data...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Fatal(msg string, data ...any) {
|
||||||
|
defaultLogger.Fatal(msg, data...)
|
||||||
|
}
|
||||||
|
25
log/log.go
25
log/log.go
@ -14,6 +14,8 @@ const (
|
|||||||
LogLevelInfo
|
LogLevelInfo
|
||||||
LogLevelWarn
|
LogLevelWarn
|
||||||
LogLevelError
|
LogLevelError
|
||||||
|
LogLevelPanic
|
||||||
|
LogLevelFatal
|
||||||
)
|
)
|
||||||
|
|
||||||
type logger struct {
|
type logger struct {
|
||||||
@ -25,10 +27,13 @@ type logger struct {
|
|||||||
info func(prefix, timestamp, msg string, data ...any)
|
info func(prefix, timestamp, msg string, data ...any)
|
||||||
warn func(prefix, timestamp, msg string, data ...any)
|
warn func(prefix, timestamp, msg string, data ...any)
|
||||||
error func(prefix, timestamp, msg string, data ...any)
|
error func(prefix, timestamp, msg string, data ...any)
|
||||||
|
panic func(prefix, timestamp, msg string, data ...any)
|
||||||
|
fatal func(prefix, timestamp, msg string, data ...any)
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
red = color.New(color.FgRed)
|
red = color.New(color.FgRed)
|
||||||
|
hired = color.New(color.FgHiRed)
|
||||||
green = color.New(color.FgGreen)
|
green = color.New(color.FgGreen)
|
||||||
yellow = color.New(color.FgYellow)
|
yellow = color.New(color.FgYellow)
|
||||||
white = color.New(color.FgWhite)
|
white = color.New(color.FgWhite)
|
||||||
@ -67,6 +72,18 @@ func (l *logger) SetLogLevel(level LogLevel) {
|
|||||||
} else {
|
} else {
|
||||||
l.error = normalLogger
|
l.error = normalLogger
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if level > LogLevelPanic {
|
||||||
|
l.panic = nilLogger
|
||||||
|
} else {
|
||||||
|
l.panic = panicLogger
|
||||||
|
}
|
||||||
|
|
||||||
|
if level > LogLevelFatal {
|
||||||
|
l.fatal = nilLogger
|
||||||
|
} else {
|
||||||
|
l.fatal = fatalLogger
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *logger) Debug(msg string, data ...any) {
|
func (l *logger) Debug(msg string, data ...any) {
|
||||||
@ -85,6 +102,14 @@ func (l *logger) Error(msg string, data ...any) {
|
|||||||
l.error(red.Sprint("Error "), time.Now().Format(l.timeFormat), msg, data...)
|
l.error(red.Sprint("Error "), time.Now().Format(l.timeFormat), msg, data...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (l *logger) Panic(msg string, data ...any) {
|
||||||
|
l.panic(hired.Sprint("Panic "), time.Now().Format(l.timeFormat), msg, data...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *logger) Fatal(msg string, data ...any) {
|
||||||
|
l.fatal(hired.Sprint("Fatal "), time.Now().Format(l.timeFormat), msg, data...)
|
||||||
|
}
|
||||||
|
|
||||||
type WroteLogger interface {
|
type WroteLogger interface {
|
||||||
Info(msg string, data ...any)
|
Info(msg string, data ...any)
|
||||||
}
|
}
|
||||||
|
21
log/new.go
Normal file
21
log/new.go
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package log
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
func New() *logger {
|
||||||
|
return &logger{
|
||||||
|
Mutex: sync.Mutex{},
|
||||||
|
timeFormat: "2006-01-02T15:04:05",
|
||||||
|
writer: os.Stdout,
|
||||||
|
level: LogLevelInfo,
|
||||||
|
debug: nilLogger,
|
||||||
|
info: normalLogger,
|
||||||
|
warn: normalLogger,
|
||||||
|
error: normalLogger,
|
||||||
|
panic: panicLogger,
|
||||||
|
fatal: fatalLogger,
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user