github.com/micro/go-micro/v2@v2.9.1/logger/helper.go (about)

     1  package logger
     2  
     3  import (
     4  	"os"
     5  )
     6  
     7  type Helper struct {
     8  	Logger
     9  	fields map[string]interface{}
    10  }
    11  
    12  func NewHelper(log Logger) *Helper {
    13  	return &Helper{Logger: log}
    14  }
    15  
    16  func (h *Helper) Info(args ...interface{}) {
    17  	if !h.Logger.Options().Level.Enabled(InfoLevel) {
    18  		return
    19  	}
    20  	h.Logger.Fields(h.fields).Log(InfoLevel, args...)
    21  }
    22  
    23  func (h *Helper) Infof(template string, args ...interface{}) {
    24  	if !h.Logger.Options().Level.Enabled(InfoLevel) {
    25  		return
    26  	}
    27  	h.Logger.Fields(h.fields).Logf(InfoLevel, template, args...)
    28  }
    29  
    30  func (h *Helper) Trace(args ...interface{}) {
    31  	if !h.Logger.Options().Level.Enabled(TraceLevel) {
    32  		return
    33  	}
    34  	h.Logger.Fields(h.fields).Log(TraceLevel, args...)
    35  }
    36  
    37  func (h *Helper) Tracef(template string, args ...interface{}) {
    38  	if !h.Logger.Options().Level.Enabled(TraceLevel) {
    39  		return
    40  	}
    41  	h.Logger.Fields(h.fields).Logf(TraceLevel, template, args...)
    42  }
    43  
    44  func (h *Helper) Debug(args ...interface{}) {
    45  	if !h.Logger.Options().Level.Enabled(DebugLevel) {
    46  		return
    47  	}
    48  	h.Logger.Fields(h.fields).Log(DebugLevel, args...)
    49  }
    50  
    51  func (h *Helper) Debugf(template string, args ...interface{}) {
    52  	if !h.Logger.Options().Level.Enabled(DebugLevel) {
    53  		return
    54  	}
    55  	h.Logger.Fields(h.fields).Logf(DebugLevel, template, args...)
    56  }
    57  
    58  func (h *Helper) Warn(args ...interface{}) {
    59  	if !h.Logger.Options().Level.Enabled(WarnLevel) {
    60  		return
    61  	}
    62  	h.Logger.Fields(h.fields).Log(WarnLevel, args...)
    63  }
    64  
    65  func (h *Helper) Warnf(template string, args ...interface{}) {
    66  	if !h.Logger.Options().Level.Enabled(WarnLevel) {
    67  		return
    68  	}
    69  	h.Logger.Fields(h.fields).Logf(WarnLevel, template, args...)
    70  }
    71  
    72  func (h *Helper) Error(args ...interface{}) {
    73  	if !h.Logger.Options().Level.Enabled(ErrorLevel) {
    74  		return
    75  	}
    76  	h.Logger.Fields(h.fields).Log(ErrorLevel, args...)
    77  }
    78  
    79  func (h *Helper) Errorf(template string, args ...interface{}) {
    80  	if !h.Logger.Options().Level.Enabled(ErrorLevel) {
    81  		return
    82  	}
    83  	h.Logger.Fields(h.fields).Logf(ErrorLevel, template, args...)
    84  }
    85  
    86  func (h *Helper) Fatal(args ...interface{}) {
    87  	if !h.Logger.Options().Level.Enabled(FatalLevel) {
    88  		return
    89  	}
    90  	h.Logger.Fields(h.fields).Log(FatalLevel, args...)
    91  	os.Exit(1)
    92  }
    93  
    94  func (h *Helper) Fatalf(template string, args ...interface{}) {
    95  	if !h.Logger.Options().Level.Enabled(FatalLevel) {
    96  		return
    97  	}
    98  	h.Logger.Fields(h.fields).Logf(FatalLevel, template, args...)
    99  	os.Exit(1)
   100  }
   101  
   102  func (h *Helper) WithError(err error) *Helper {
   103  	fields := copyFields(h.fields)
   104  	fields["error"] = err
   105  	return &Helper{Logger: h.Logger, fields: fields}
   106  }
   107  
   108  func (h *Helper) WithFields(fields map[string]interface{}) *Helper {
   109  	nfields := copyFields(fields)
   110  	for k, v := range h.fields {
   111  		nfields[k] = v
   112  	}
   113  	return &Helper{Logger: h.Logger, fields: nfields}
   114  }