Merge pull request #862 from krishnasrinivas/probe-fix

Fix logrus error message logging
This commit is contained in:
Harshavardhana 2015-09-21 16:38:25 -07:00
commit b45c6020e4
2 changed files with 13 additions and 9 deletions

View File

@ -18,6 +18,7 @@ package main
import (
"encoding/json"
"reflect"
"github.com/Sirupsen/logrus"
"github.com/minio/minio/pkg/probe"
@ -48,10 +49,16 @@ func errorIf(err *probe.Error, msg string, fields map[string]interface{}) {
if fields == nil {
fields = make(map[string]interface{})
}
fields["error"] = err.ToGoError()
if jsonErr, e := json.Marshal(err); e == nil {
fields["probe"] = string(jsonErr)
fields["Error"] = struct {
Cause string `json:"cause,omitempty"`
Type string `json:"type,omitempty"`
CallTrace []probe.TracePoint `json:"trace,omitempty"`
SysInfo map[string]string `json:"sysinfo,omitempty"`
}{
err.Cause.Error(),
reflect.TypeOf(err.Cause).String(),
err.CallTrace,
err.SysInfo,
}
log.WithFields(fields).Error(msg)
}

View File

@ -42,10 +42,7 @@ func (s *LoggerSuite) TestLogger(c *C) {
c.Assert(err, IsNil)
c.Assert(fields["level"], Equals, "error")
msg, ok := fields["error"]
c.Assert(ok, Equals, true)
c.Assert(msg, Equals, "Fake error")
_, ok = fields["probe"]
msg, ok := fields["Error"]
c.Assert(ok, Equals, true)
c.Assert(msg.(map[string]interface{})["cause"], Equals, "Fake error")
}