github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/service/logger/helper.go (about) 1 // Licensed under the Apache License, Version 2.0 (the "License"); 2 // you may not use this file except in compliance with the License. 3 // You may obtain a copy of the License at 4 // 5 // https://www.apache.org/licenses/LICENSE-2.0 6 // 7 // Unless required by applicable law or agreed to in writing, software 8 // distributed under the License is distributed on an "AS IS" BASIS, 9 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 // See the License for the specific language governing permissions and 11 // limitations under the License. 12 // 13 // Original source: github.com/micro/go-micro/v3/logger/helper.go 14 15 package logger 16 17 import ( 18 "os" 19 ) 20 21 type Helper struct { 22 Logger 23 fields map[string]interface{} 24 } 25 26 func NewHelper(log Logger) *Helper { 27 return &Helper{Logger: log} 28 } 29 30 func (h *Helper) Info(args ...interface{}) { 31 if !h.Logger.Options().Level.Enabled(InfoLevel) { 32 return 33 } 34 h.Logger.Fields(h.fields).Log(InfoLevel, args...) 35 } 36 37 func (h *Helper) Infof(template string, args ...interface{}) { 38 if !h.Logger.Options().Level.Enabled(InfoLevel) { 39 return 40 } 41 h.Logger.Fields(h.fields).Logf(InfoLevel, template, args...) 42 } 43 44 func (h *Helper) Trace(args ...interface{}) { 45 if !h.Logger.Options().Level.Enabled(TraceLevel) { 46 return 47 } 48 h.Logger.Fields(h.fields).Log(TraceLevel, args...) 49 } 50 51 func (h *Helper) Tracef(template string, args ...interface{}) { 52 if !h.Logger.Options().Level.Enabled(TraceLevel) { 53 return 54 } 55 h.Logger.Fields(h.fields).Logf(TraceLevel, template, args...) 56 } 57 58 func (h *Helper) Debug(args ...interface{}) { 59 if !h.Logger.Options().Level.Enabled(DebugLevel) { 60 return 61 } 62 h.Logger.Fields(h.fields).Log(DebugLevel, args...) 63 } 64 65 func (h *Helper) Debugf(template string, args ...interface{}) { 66 if !h.Logger.Options().Level.Enabled(DebugLevel) { 67 return 68 } 69 h.Logger.Fields(h.fields).Logf(DebugLevel, template, args...) 70 } 71 72 func (h *Helper) Warn(args ...interface{}) { 73 if !h.Logger.Options().Level.Enabled(WarnLevel) { 74 return 75 } 76 h.Logger.Fields(h.fields).Log(WarnLevel, args...) 77 } 78 79 func (h *Helper) Warnf(template string, args ...interface{}) { 80 if !h.Logger.Options().Level.Enabled(WarnLevel) { 81 return 82 } 83 h.Logger.Fields(h.fields).Logf(WarnLevel, template, args...) 84 } 85 86 func (h *Helper) Error(args ...interface{}) { 87 if !h.Logger.Options().Level.Enabled(ErrorLevel) { 88 return 89 } 90 h.Logger.Fields(h.fields).Log(ErrorLevel, args...) 91 } 92 93 func (h *Helper) Errorf(template string, args ...interface{}) { 94 if !h.Logger.Options().Level.Enabled(ErrorLevel) { 95 return 96 } 97 h.Logger.Fields(h.fields).Logf(ErrorLevel, template, args...) 98 } 99 100 func (h *Helper) Fatal(args ...interface{}) { 101 if !h.Logger.Options().Level.Enabled(FatalLevel) { 102 return 103 } 104 h.Logger.Fields(h.fields).Log(FatalLevel, args...) 105 os.Exit(1) 106 } 107 108 func (h *Helper) Fatalf(template string, args ...interface{}) { 109 if !h.Logger.Options().Level.Enabled(FatalLevel) { 110 return 111 } 112 h.Logger.Fields(h.fields).Logf(FatalLevel, template, args...) 113 os.Exit(1) 114 } 115 116 func (h *Helper) WithError(err error) *Helper { 117 fields := copyFields(h.fields) 118 fields["error"] = err 119 return &Helper{Logger: h.Logger, fields: fields} 120 } 121 122 func (h *Helper) WithFields(fields map[string]interface{}) *Helper { 123 nfields := copyFields(fields) 124 for k, v := range h.fields { 125 nfields[k] = v 126 } 127 return &Helper{Logger: h.Logger, fields: nfields} 128 }