mirror of
https://github.com/golang/go
synced 2024-11-18 23:14:43 -07:00
11cc3c157e
Fixes golang/go#33499 This logs additional information compatible with `golang.org/x/xerrors` like the frames. Change-Id: If25c3979cf294dbe55b0e3d9d999b24c1ff8900d GitHub-Last-Rev: 210fa40bd29de99a9052eb67d197154f4bd74e10 GitHub-Pull-Request: golang/tools#144 Reviewed-on: https://go-review.googlesource.com/c/tools/+/189344 Reviewed-by: Rebecca Stambler <rstambler@golang.org> Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
35 lines
660 B
Go
35 lines
660 B
Go
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package telemetry
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
type Event struct {
|
|
At time.Time
|
|
Message string
|
|
Error error
|
|
Tags TagList
|
|
}
|
|
|
|
func (e Event) Format(f fmt.State, r rune) {
|
|
if !e.At.IsZero() {
|
|
fmt.Fprint(f, e.At.Format("2006/01/02 15:04:05 "))
|
|
}
|
|
fmt.Fprint(f, e.Message)
|
|
if e.Error != nil {
|
|
if f.Flag('+') {
|
|
fmt.Fprintf(f, ": %+v", e.Error)
|
|
} else {
|
|
fmt.Fprintf(f, ": %v", e.Error)
|
|
}
|
|
}
|
|
for _, tag := range e.Tags {
|
|
fmt.Fprintf(f, "\n\t%v = %v", tag.Key, tag.Value)
|
|
}
|
|
}
|