wip: user stuff
This commit is contained in:
97
pkg/logger/default.go
Normal file
97
pkg/logger/default.go
Normal file
@ -0,0 +1,97 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var (
|
||||
pool = &sync.Pool{
|
||||
New: func() any {
|
||||
return &strings.Builder{}
|
||||
},
|
||||
}
|
||||
nilLogger = func(prefix, timestamp, msg string, data ...any) {}
|
||||
normalLogger = func(prefix, timestamp, msg string, data ...any) {
|
||||
buf := pool.Get().(*strings.Builder)
|
||||
buf.Reset()
|
||||
buf.WriteString(prefix)
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(timestamp)
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(msg)
|
||||
buf.WriteString("\n")
|
||||
fmt.Printf(buf.String(), data...)
|
||||
}
|
||||
|
||||
panicLogger = func(prefix, timestamp, msg string, data ...any) {
|
||||
buf := pool.Get().(*strings.Builder)
|
||||
buf.Reset()
|
||||
buf.WriteString(prefix)
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(timestamp)
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(msg)
|
||||
buf.WriteString("\n")
|
||||
panic(buf.String())
|
||||
}
|
||||
|
||||
fatalLogger = func(prefix, timestamp, msg string, data ...any) {
|
||||
buf := pool.Get().(*strings.Builder)
|
||||
buf.Reset()
|
||||
buf.WriteString(prefix)
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(timestamp)
|
||||
buf.WriteString(" | ")
|
||||
buf.WriteString(msg)
|
||||
buf.WriteString("\n")
|
||||
fmt.Printf(buf.String(), data...)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
DefaultLogger = &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,
|
||||
}
|
||||
)
|
||||
|
||||
func SetTimeFormat(format string) {
|
||||
DefaultLogger.SetTimeFormat(format)
|
||||
}
|
||||
|
||||
func SetLogLevel(level LogLevel) {
|
||||
DefaultLogger.SetLogLevel(level)
|
||||
}
|
||||
|
||||
func Debug(msg string, data ...any) {
|
||||
DefaultLogger.Debug(msg, data...)
|
||||
}
|
||||
func Info(msg string, data ...any) {
|
||||
DefaultLogger.Info(msg, data...)
|
||||
}
|
||||
|
||||
func Warn(msg string, data ...any) {
|
||||
DefaultLogger.Warn(msg, data...)
|
||||
}
|
||||
|
||||
func Error(msg string, data ...any) {
|
||||
DefaultLogger.Error(msg, data...)
|
||||
}
|
||||
|
||||
func Panic(msg string, data ...any) {
|
||||
DefaultLogger.Panic(msg, data...)
|
||||
}
|
||||
|
||||
func Fatal(msg string, data ...any) {
|
||||
DefaultLogger.Fatal(msg, data...)
|
||||
}
|
Reference in New Issue
Block a user