docs(eventlog)
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
Brian Tiger Chow committed
Nov 16, 2014 at 04:18 UTC
2134365c486dfd0cbefb2d242c10321c72746212
1 file changed
+7
util/eventlog/log.go
+7
@@ -63,17 +63,24 @@ type eventLogger struct {
63
}
64
65
func (el *eventLogger) Event(ctx context.Context, event string, metadata ...Loggable) {
66
+
67
+ // get any existing metadata from the context
68
existing, err := MetadataFromContext(ctx)
69
if err != nil {
70
existing = Metadata{}
71
}
72
+
73
+ // accumulate metadata
74
accum := existing
75
for _, datum := range metadata {
76
accum = DeepMerge(accum, datum.Loggable())
77
}
78
+
79
+ // apply final attributes to reserved keys
80
accum["event"] = event
81
accum["system"] = el.system
82
accum["time"] = util.FormatRFC3339(time.Now())
83
84
+ // TODO roll our own event logger
85
logrus.WithFields(map[string]interface{}(accum)).Info(event)
86
}