2017-03-21 34 views
0

私はすべての私のgo appsでlogrusを使用していますが、最近私はコンテキストロガーを使い始めました。今私は、アプリケーションの実行パス中にコンテキストを "構築"したいと思っています。下記の例を参照してください。Logrusがコンテキストログに追加フィールドを追加

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言及ymonadとして

、それはcontextLoggerを上書きすることによって可能です。また、あなたは一つの追加フィールドを追加することができていることが分かった:

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

答えて

1

あなただけ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") 
} 

出力が呼び出すことができます。

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

おかげ。うまく動作します! –

関連する問題