Opentracing support
This commit is contained in:
parent
8394549857
commit
30ffba78e6
272 changed files with 44352 additions and 63 deletions
64
vendor/github.com/openzipkin/zipkin-go-opentracing/logger.go
generated
vendored
Normal file
64
vendor/github.com/openzipkin/zipkin-go-opentracing/logger.go
generated
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
package zipkintracer
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// ErrMissingValue adds a Missing Value Error when the Logging Parameters are
|
||||
// not even in number
|
||||
var ErrMissingValue = errors.New("(MISSING)")
|
||||
|
||||
// Logger is the fundamental interface for all log operations. Log creates a
|
||||
// log event from keyvals, a variadic sequence of alternating keys and values.
|
||||
// The signature is compatible with the Go kit log package.
|
||||
type Logger interface {
|
||||
Log(keyvals ...interface{}) error
|
||||
}
|
||||
|
||||
// NewNopLogger provides a Logger that discards all Log data sent to it.
|
||||
func NewNopLogger() Logger {
|
||||
return &nopLogger{}
|
||||
}
|
||||
|
||||
// LogWrapper wraps a standard library logger into a Logger compatible with this
|
||||
// package.
|
||||
func LogWrapper(l *log.Logger) Logger {
|
||||
return &wrappedLogger{l: l}
|
||||
}
|
||||
|
||||
// wrappedLogger implements Logger
|
||||
type wrappedLogger struct {
|
||||
l *log.Logger
|
||||
}
|
||||
|
||||
// Log implements Logger
|
||||
func (l *wrappedLogger) Log(k ...interface{}) error {
|
||||
if len(k)%2 == 1 {
|
||||
k = append(k, ErrMissingValue)
|
||||
}
|
||||
o := make([]string, len(k)/2)
|
||||
for i := 0; i < len(k); i += 2 {
|
||||
o[i/2] = fmt.Sprintf("%s=%q", k[i], k[i+1])
|
||||
}
|
||||
l.l.Println(strings.Join(o, " "))
|
||||
return nil
|
||||
}
|
||||
|
||||
// nopLogger implements Logger
|
||||
type nopLogger struct{}
|
||||
|
||||
// Log implements Logger
|
||||
func (*nopLogger) Log(_ ...interface{}) error { return nil }
|
||||
|
||||
// LoggerFunc is an adapter to allow use of ordinary functions as Loggers. If
|
||||
// f is a function with the appropriate signature, LoggerFunc(f) is a Logger
|
||||
// object that calls f.
|
||||
type LoggerFunc func(...interface{}) error
|
||||
|
||||
// Log implements Logger by calling f(keyvals...).
|
||||
func (f LoggerFunc) Log(keyvals ...interface{}) error {
|
||||
return f(keyvals...)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue