github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/thirdparty/eventlog/polite_json_formatter.go (about)

     1  package eventlog
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  
     7  	"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/Sirupsen/logrus"
     8  )
     9  
    10  // PoliteJSONFormatter marshals entries into JSON encoded slices (without
    11  // overwriting user-provided keys). How polite of it!
    12  type PoliteJSONFormatter struct{}
    13  
    14  func (f *PoliteJSONFormatter) Format(entry *logrus.Entry) ([]byte, error) {
    15  	serialized, err := json.Marshal(entry.Data)
    16  	if err != nil {
    17  		return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err)
    18  	}
    19  	return append(serialized, '\n'), nil
    20  }