优化日志

This commit is contained in:
hahwu 2025-02-05 11:06:20 +08:00
parent 59d3dbbe92
commit 5b57c0a565

View File

@ -7,6 +7,7 @@ import (
"os"
"path"
"strings"
"sync"
"time"
)
@ -26,6 +27,7 @@ const (
)
type Logger struct {
lock sync.Mutex
level int
baseLogger *log.Logger
baseFile *os.File
@ -203,30 +205,43 @@ func (logger *Logger) Fatal(format string, a ...interface{}) {
}
var gLogger, _ = New("debug", "", log.LstdFlags)
var gloggerLock sync.Mutex
// It's dangerous to call the method on logging
func Export(logger *Logger) {
if logger != nil {
gloggerLock.Lock()
defer gloggerLock.Unlock()
gLogger = logger
}
}
func Debug(format string, a ...interface{}) {
gloggerLock.Lock()
defer gloggerLock.Unlock()
gLogger.doPrintf(debugLevel, printDebugLevel, format, a...)
}
func Release(format string, a ...interface{}) {
gloggerLock.Lock()
defer gloggerLock.Unlock()
gLogger.doPrintf(releaseLevel, printReleaseLevel, format, a...)
}
func Error(format string, a ...interface{}) {
gloggerLock.Lock()
defer gloggerLock.Unlock()
gLogger.doPrintf(errorLevel, printErrorLevel, format, a...)
}
func Fatal(format string, a ...interface{}) {
gloggerLock.Lock()
defer gloggerLock.Unlock()
gLogger.doPrintf(fatalLevel, printFatalLevel, format, a...)
}
func Close() {
gloggerLock.Lock()
defer gloggerLock.Unlock()
gLogger.Close()
}