polite_json_formatter.go 547 Bytes
Newer Older
1 2 3 4 5 6 7 8 9
package eventlog

import (
	"encoding/json"
	"fmt"

	"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/maybebtc/logrus"
)

Brian Tiger Chow's avatar
Brian Tiger Chow committed
10 11
// PoliteJSONFormatter marshals entries into JSON encoded slices (without
// overwriting user-provided keys). How polite of it!
12 13 14 15 16 17 18 19 20
type PoliteJSONFormatter struct{}

func (f *PoliteJSONFormatter) Format(entry *logrus.Entry) ([]byte, error) {
	serialized, err := json.Marshal(entry.Data)
	if err != nil {
		return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err)
	}
	return append(serialized, '\n'), nil
}