| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 | 
							- package log
 
- import (
 
- 	"fmt"
 
- 	"os"
 
- )
 
- type LevelLogger struct {
 
- 	Level  uint8
 
- 	Logger Logger
 
- }
 
- func (d *LevelLogger) Error(f string, v ...any) {
 
- 	if d.Level < LevelError {
 
- 		return
 
- 	}
 
- 	d.Logger.Error(f, v...)
 
- }
 
- func (d *LevelLogger) Warn(f string, v ...any) {
 
- 	if d.Level < LevelWarn {
 
- 		return
 
- 	}
 
- 	d.Logger.Warn(f, v...)
 
- }
 
- func (d *LevelLogger) Info(f string, v ...any) {
 
- 	if d.Level < LevelInfo {
 
- 		return
 
- 	}
 
- 	d.Logger.Info(f, v...)
 
- }
 
- func (d *LevelLogger) Debug(f string, v ...any) {
 
- 	if d.Level < LevelDebug {
 
- 		return
 
- 	}
 
- 	d.Logger.Debug(f, v...)
 
- }
 
- func (d *LevelLogger) CallDepthPlus() {
 
- 	d.Logger.CallDepthPlus()
 
- }
 
- func (d *LevelLogger) CallDepthMinus() {
 
- 	d.Logger.CallDepthMinus()
 
- }
 
- func NewLevelLogger(level uint8, logger Logger) *LevelLogger {
 
- 	return &LevelLogger{Level: level, Logger: logger}
 
- }
 
- type LevelLoggers []Logger
 
- func (l LevelLoggers) Error(f string, v ...any) {
 
- 	for _, logger := range l {
 
- 		logger.Error(f, v...)
 
- 	}
 
- }
 
- func (l LevelLoggers) Warn(f string, v ...any) {
 
- 	for _, logger := range l {
 
- 		logger.Warn(f, v...)
 
- 	}
 
- }
 
- func (l LevelLoggers) Info(f string, v ...any) {
 
- 	for _, logger := range l {
 
- 		logger.Info(f, v...)
 
- 	}
 
- }
 
- func (l LevelLoggers) Debug(f string, v ...any) {
 
- 	for _, logger := range l {
 
- 		logger.Debug(f, v...)
 
- 	}
 
- }
 
- func (l LevelLoggers) CallDepthPlus() {
 
- 	for _, logger := range l {
 
- 		logger.CallDepthPlus()
 
- 	}
 
- }
 
- func (l LevelLoggers) CallDepthMinus() {
 
- 	for _, logger := range l {
 
- 		logger.CallDepthMinus()
 
- 	}
 
- }
 
- var (
 
- 	// gLog are global default LevelLogger
 
- 	gLog = LevelLoggers{NewLevelLogger(LevelDebug, NewLogger(4, os.Stdout))}
 
- )
 
- // SetLevel
 
- // Deprecated, remove after later
 
- func SetLevel(level uint8) {
 
- 	for _, logger := range gLog {
 
- 		if lg, ok := logger.(*LevelLogger); ok {
 
- 			lg.Level = level
 
- 		}
 
- 	}
 
- }
 
- func SetServerMod(address string) {
 
- 	client, err := NewClientLogger(address)
 
- 	if err != nil {
 
- 		panic(err)
 
- 	}
 
- 	gLog = LevelLoggers{client}
 
- }
 
- func SetOutput(logger ...Logger) {
 
- 	gLog = logger
 
- }
 
- func Debug(f string, v ...any) {
 
- 	gLog.Debug(f, v...)
 
- }
 
- func Info(f string, v ...any) {
 
- 	gLog.Info(f, v...)
 
- }
 
- func Warn(f string, v ...any) {
 
- 	gLog.Warn(f, v...)
 
- }
 
- func Error(f string, v ...any) {
 
- 	gLog.Error(f, v...)
 
- }
 
- func Panic(f string, v ...any) {
 
- 	gLog.Error(f, v...)
 
- 	panic(fmt.Sprintf(f, v...))
 
- }
 
- func Fatal(f string, v ...any) {
 
- 	gLog.Error(f, v...)
 
- 	os.Exit(1)
 
- }
 
 
  |