@@ -192,25 +192,8 @@ func (e *Entry) Panicln(v ...interface{}) {
192192// WithFields method to add multiple key-value pairs into log.
193193func (e * Entry ) WithFields (fields Fields ) * Entry {
194194 ne := acquireEntry (e .logger )
195- for k , v := range e .Fields {
196- ne .Fields [k ] = v
197- }
198- for k , v := range fields {
199- if k == "appname" {
200- ne .AppName = fmt .Sprint (v )
201- continue
202- }
203- if k == "reqid" {
204- ne .RequestID = fmt .Sprint (v )
205- continue
206- }
207- if k == "principal" {
208- ne .Principal = fmt .Sprint (v )
209- continue
210- }
211-
212- ne .Fields [k ] = v
213- }
195+ ne .addFields (e .Fields )
196+ ne .addFields (fields )
214197 return ne
215198}
216199
@@ -219,35 +202,6 @@ func (e *Entry) WithField(key string, value interface{}) *Entry {
219202 return e .WithFields (Fields {key : value })
220203}
221204
222- //‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
223- // Entry level methods
224- //___________________________________
225-
226- // IsLevelInfo method returns true if log level is INFO otherwise false.
227- func (e * Entry ) IsLevelInfo () bool {
228- return e .logger .level == LevelInfo
229- }
230-
231- // IsLevelError method returns true if log level is ERROR otherwise false.
232- func (e * Entry ) IsLevelError () bool {
233- return e .logger .level == LevelError
234- }
235-
236- // IsLevelWarn method returns true if log level is WARN otherwise false.
237- func (e * Entry ) IsLevelWarn () bool {
238- return e .logger .level == LevelWarn
239- }
240-
241- // IsLevelDebug method returns true if log level is DEBUG otherwise false.
242- func (e * Entry ) IsLevelDebug () bool {
243- return e .logger .level == LevelDebug
244- }
245-
246- // IsLevelTrace method returns true if log level is TRACE otherwise false.
247- func (e * Entry ) IsLevelTrace () bool {
248- return e .logger .level == LevelTrace
249- }
250-
251205// Reset method resets the `Entry` values for reuse.
252206func (e * Entry ) Reset () {
253207 e .AppName = ""
@@ -258,7 +212,7 @@ func (e *Entry) Reset() {
258212 e .Message = ""
259213 e .File = ""
260214 e .Line = 0
261- e .Fields = make (map [ string ] interface {} )
215+ e .Fields = make (Fields )
262216 e .logger = nil
263217}
264218
@@ -270,12 +224,28 @@ func (e *Entry) output(lvl level, msg string) {
270224 e .Time = time .Now ()
271225 e .Level = lvl
272226 e .Message = msg
227+ e .addFields (e .logger .ctx )
273228 e .logger .output (e )
274229}
275230
231+ func (e * Entry ) addFields (fields Fields ) {
232+ for k , v := range fields {
233+ switch k {
234+ case "appname" :
235+ e .AppName = fmt .Sprint (v )
236+ case "reqid" :
237+ e .RequestID = fmt .Sprint (v )
238+ case "principal" :
239+ e .Principal = fmt .Sprint (v )
240+ default :
241+ e .Fields [k ] = v
242+ }
243+ }
244+ }
245+
276246func newEntry () * Entry {
277247 return & Entry {
278- Fields : make (map [ string ] interface {} ),
248+ Fields : make (Fields ),
279249 }
280250}
281251
0 commit comments