diff --git a/util/eventlog/option.go b/util/eventlog/option.go index 4fe3daa59..7ca68558f 100644 --- a/util/eventlog/option.go +++ b/util/eventlog/option.go @@ -17,7 +17,7 @@ func Configure(options ...Option) { // LdJSONFormatter formats the event log as line-delimited JSON var LdJSONFormatter = func() { - logrus.SetFormatter(&logrus.PoliteJSONFormatter{}) + logrus.SetFormatter(&PoliteJSONFormatter{}) } var TextFormatter = func() { diff --git a/util/eventlog/polite_json_formatter.go b/util/eventlog/polite_json_formatter.go new file mode 100644 index 000000000..509f0871b --- /dev/null +++ b/util/eventlog/polite_json_formatter.go @@ -0,0 +1,18 @@ +package eventlog + +import ( + "encoding/json" + "fmt" + + "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/maybebtc/logrus" +) + +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 +}