in tools/go-agent/instrument/logger/frameworks/logrus_format.go [43:72]
func (format *WrapFormat) Format(entry *logrus.Entry) ([]byte, error) {
var logContext fmt.Stringer
keys := LogReporterLabelKeys
if LogReporterEnable {
ctx := GetLogContext(true)
if ctx == nil {
return format.Base.Format(entry)
}
if stringer, ok := ctx.(fmt.Stringer); ok {
logContext = stringer
}
labels := make(map[string]string, len(keys))
for _, key := range keys {
for k, v := range entry.Data {
if k == key {
labels[key] = fmt.Sprintf("%v", v)
}
}
}
ReportLog(ctx, entry.Time, entry.Level.String(), entry.Message, labels)
}
// append trace context
if logContext == nil {
entry.Data[format.traceContextKey] = GetLogContextString()
} else {
entry.Data[format.traceContextKey] = logContext.String()
}
return format.Base.Format(entry)
}