gitee.com/zhongguo168a/gocodes@v0.0.0-20230609140523-e1828349603f/myx/logx/fmtlog/fmt-logger.go (about)

     1  package fmtlog
     2  
     3  import (
     4  	"fmt"
     5  	"gitee.com/zhongguo168a/gocodes/myx/logx/iface"
     6  	"os"
     7  )
     8  
     9  func NewLogger() (obj *Logger) {
    10  	obj = &Logger{
    11  		Level: InfoLevel,
    12  	}
    13  	return
    14  }
    15  
    16  type Logger struct {
    17  	Name string
    18  
    19  	Data map[string]interface{}
    20  
    21  	Level Level
    22  }
    23  
    24  func (l *Logger) printData() {
    25  	if l.Data != nil {
    26  		fmt.Printf(", %+v\n", l.Data)
    27  	} else {
    28  		fmt.Printf("\n")
    29  	}
    30  
    31  }
    32  
    33  func (l *Logger) Ok(a ...interface{}) {
    34  	if l.Level < InfoLevel {
    35  		return
    36  	}
    37  
    38  	fmt.Print("[ok   ] ")
    39  	fmt.Print(a...)
    40  	l.printData()
    41  }
    42  
    43  func (l *Logger) Fail(a ...interface{}) {
    44  	if l.Level < InfoLevel {
    45  		return
    46  	}
    47  
    48  	fmt.Print("[fail ] ")
    49  	fmt.Print(a...)
    50  	l.printData()
    51  }
    52  
    53  func (l *Logger) Msg(a ...interface{}) {
    54  	if l.Level < InfoLevel {
    55  		return
    56  	}
    57  
    58  	fmt.Print(a...)
    59  	l.printData()
    60  }
    61  
    62  func (l *Logger) Debug(a ...interface{}) {
    63  	if l.Level < DebugLevel {
    64  		return
    65  	}
    66  	fmt.Print("[debug] ")
    67  	fmt.Print(a...)
    68  	l.printData()
    69  }
    70  
    71  func (l *Logger) Info(a ...interface{}) {
    72  	if l.Level < InfoLevel {
    73  		return
    74  	}
    75  
    76  	fmt.Print("[info ] ")
    77  	fmt.Print(a...)
    78  	l.printData()
    79  }
    80  
    81  func (l *Logger) Warn(a ...interface{}) {
    82  	if l.Level < WarnLevel {
    83  		return
    84  	}
    85  	fmt.Print("[warn ] ")
    86  	fmt.Print(a...)
    87  	l.printData()
    88  }
    89  
    90  func (l *Logger) Error(a ...interface{}) {
    91  	if l.Level < ErrorLevel {
    92  		return
    93  	}
    94  
    95  	fmt.Print("[error] ")
    96  	fmt.Print(a...)
    97  	l.printData()
    98  }
    99  
   100  func (l *Logger) Fatal(a ...interface{}) {
   101  	if l.Level < FatalLevel {
   102  		return
   103  	}
   104  
   105  	fmt.Print("[fatal] ")
   106  	fmt.Print(a...)
   107  	l.printData()
   108  	os.Exit(-1)
   109  }
   110  
   111  func (l *Logger) With(m map[string]interface{}) iface.ILogger {
   112  	return &Logger{
   113  		Data: m,
   114  	}
   115  }