aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/go-kit/kit/log/value.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/go-kit/kit/log/value.go')
-rw-r--r--vendor/github.com/go-kit/kit/log/value.go72
1 files changed, 11 insertions, 61 deletions
diff --git a/vendor/github.com/go-kit/kit/log/value.go b/vendor/github.com/go-kit/kit/log/value.go
index b56f154..96d783b 100644
--- a/vendor/github.com/go-kit/kit/log/value.go
+++ b/vendor/github.com/go-kit/kit/log/value.go
@@ -3,34 +3,13 @@ package log
import (
"time"
- "github.com/go-stack/stack"
+ "github.com/go-kit/log"
)
-// A Valuer generates a log value. When passed to With or WithPrefix in a
-// value element (odd indexes), it represents a dynamic value which is re-
-// evaluated with each log event.
-type Valuer func() interface{}
-
-// bindValues replaces all value elements (odd indexes) containing a Valuer
-// with their generated value.
-func bindValues(keyvals []interface{}) {
- for i := 1; i < len(keyvals); i += 2 {
- if v, ok := keyvals[i].(Valuer); ok {
- keyvals[i] = v()
- }
- }
-}
-
-// containsValuer returns true if any of the value elements (odd indexes)
-// contain a Valuer.
-func containsValuer(keyvals []interface{}) bool {
- for i := 1; i < len(keyvals); i += 2 {
- if _, ok := keyvals[i].(Valuer); ok {
- return true
- }
- }
- return false
-}
+// A Valuer generates a log value. When passed to With, WithPrefix, or
+// WithSuffix in a value element (odd indexes), it represents a dynamic
+// value which is re-evaluated with each log event.
+type Valuer = log.Valuer
// Timestamp returns a timestamp Valuer. It invokes the t function to get the
// time; unless you are doing something tricky, pass time.Now.
@@ -38,7 +17,7 @@ func containsValuer(keyvals []interface{}) bool {
// Most users will want to use DefaultTimestamp or DefaultTimestampUTC, which
// are TimestampFormats that use the RFC3339Nano format.
func Timestamp(t func() time.Time) Valuer {
- return func() interface{} { return t() }
+ return log.Timestamp(t)
}
// TimestampFormat returns a timestamp Valuer with a custom time format. It
@@ -49,54 +28,25 @@ func Timestamp(t func() time.Time) Valuer {
// Most users will want to use DefaultTimestamp or DefaultTimestampUTC, which
// are TimestampFormats that use the RFC3339Nano format.
func TimestampFormat(t func() time.Time, layout string) Valuer {
- return func() interface{} {
- return timeFormat{
- time: t(),
- layout: layout,
- }
- }
-}
-
-// A timeFormat represents an instant in time and a layout used when
-// marshaling to a text format.
-type timeFormat struct {
- time time.Time
- layout string
-}
-
-func (tf timeFormat) String() string {
- return tf.time.Format(tf.layout)
-}
-
-// MarshalText implements encoding.TextMarshaller.
-func (tf timeFormat) MarshalText() (text []byte, err error) {
- // The following code adapted from the standard library time.Time.Format
- // method. Using the same undocumented magic constant to extend the size
- // of the buffer as seen there.
- b := make([]byte, 0, len(tf.layout)+10)
- b = tf.time.AppendFormat(b, tf.layout)
- return b, nil
+ return log.TimestampFormat(t, layout)
}
// Caller returns a Valuer that returns a file and line from a specified depth
// in the callstack. Users will probably want to use DefaultCaller.
func Caller(depth int) Valuer {
- return func() interface{} { return stack.Caller(depth) }
+ return log.Caller(depth)
}
var (
// DefaultTimestamp is a Valuer that returns the current wallclock time,
// respecting time zones, when bound.
- DefaultTimestamp = TimestampFormat(time.Now, time.RFC3339Nano)
+ DefaultTimestamp = log.DefaultTimestamp
// DefaultTimestampUTC is a Valuer that returns the current time in UTC
// when bound.
- DefaultTimestampUTC = TimestampFormat(
- func() time.Time { return time.Now().UTC() },
- time.RFC3339Nano,
- )
+ DefaultTimestampUTC = log.DefaultTimestampUTC
// DefaultCaller is a Valuer that returns the file and line where the Log
// method was invoked. It can only be used with log.With.
- DefaultCaller = Caller(3)
+ DefaultCaller = log.DefaultCaller
)
nihil fit ex nihilo