2017-03-21 3 views
0

Ich benutze Logrus in allen meine Apps gehen und vor kurzem begann ich mit einem Context Logger. Jetzt möchte ich während des Ausführungspfads meiner App einen Kontext "aufbauen". Siehe Beispiel unten, das veranschaulicht, was ich will.Logrus fügen zusätzliches Feld zu Contextelogger

package main 

import (
    "github.com/Sirupsen/logrus" 
) 

func main() { 
    logrus.Info("normal logger") 

    cl := logrus.WithFields(
     logrus.Fields{ 
      "extra_field_one": "extra_value_one", 
     }) 

    // some code here 

    // here I want to add an additional field to to contextlogger cl. 
    // How do I do that? 

} 

EDIT

Wie ymonad erwähnt, ist es möglich, indem die contextLogger überschrieben werden. Auch fand heraus, dass Sie ein zusätzliches Feld hinzufügen:

cl = cl.WithField("key", "value") 

Antwort

1

können Sie einfach anrufen cl.WithFields()

package main 

import "github.com/Sirupsen/logrus" 

func main() { 
    cl := logrus.WithFields(
     logrus.Fields{ 
      "extra_field_one": "extra_value_one", 
     }) 
    cl = cl.WithFields(
     logrus.Fields{ 
      "extra_field_two": "extra_value_two", 
     }) 
    cl.Info("hello world") 
} 

Ausgang ist:

INFO[0000] hello world extra_field_one="extra_value_one" extra_field_two="extra_value_two" 
+0

Dank; funktioniert gut! –

Verwandte Themen