func Uint64p(key string, val *uint64) Field {
	return Field{zapField: zap.Uint64p(key, val)}
}
Uint64p constructs a field that carries a *uint64. The returned Field will safely
and explicitly represent `nil` when appropriate.
package log
import (
	"fmt"
	"time"
	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
)
type Field struct {
	zapField zap.Field
}
func (f Field) getZapField() zap.Field {
	return f.zapField
}
func getZapFields(fs ...Field) []zap.Field {
	fields := make([]zap.Field, 0, len(fs))
	for _, f := range fs {
		fields = append(fields, f.getZapField())
	}
	return fields
}
func Binary(key string, val []byte) Field {
	return Field{zapField: zap.Binary(key, val)}
}
func Bool(key string, val bool) Field {
	return Field{zapField: zap.Bool(key, val)}
}
func Boolp(key string, val *bool) Field {
	return Field{zapField: zap.Boolp(key, val)}
}
func ByteString(key string, val []byte) Field {
	return Field{zapField: zap.ByteString(key, val)}
}
func Complex128(key string, val complex128) Field {
	return Field{zapField: zap.Complex128(key, val)}
}
func Complex128p(key string, val *complex128) Field {
	return Field{zapField: zap.Complex128p(key, val)}
}
func Complex64(key string, val complex64) Field {
	return Field{zapField: zap.Complex64(key, val)}
}
func Complex64p(key string, val *complex64) Field {
	return Field{zapField: zap.Complex64p(key, val)}
}
func Float64(key string, val float64) Field {
	return Field{zapField: zap.Float64(key, val)}
}
func Float64p(key string, val *float64) Field {
	return Field{zapField: zap.Float64p(key, val)}
}
func Float32(key string, val float32) Field {
	return Field{zapField: zap.Float32(key, val)}
}
func Float32p(key string, val *float32) Field {
	return Field{zapField: zap.Float32p(key, val)}
}
func Int(key string, val int) Field {
	return Field{zapField: zap.Int(key, val)}
}
func Intp(key string, val *int) Field {
	return Field{zapField: zap.Intp(key, val)}
}
func Int64(key string, val int64) Field {
	return Field{zapField: zap.Int64(key, val)}
}
func Int64p(key string, val *int64) Field {
	return Field{zapField: zap.Int64p(key, val)}
}
func Int32(key string, val int32) Field {
	return Field{zapField: zap.Int32(key, val)}
}
func Int32p(key string, val *int32) Field {
	return Field{zapField: zap.Int32p(key, val)}
}
func Int16(key string, val int16) Field {
	return Field{zapField: zap.Int16(key, val)}
}
func Int16p(key string, val *int16) Field {
	return Field{zapField: zap.Int16p(key, val)}
}
func Int8(key string, val int8) Field {
	return Field{zapField: zap.Int8(key, val)}
}
func Int8p(key string, val *int8) Field {
	return Field{zapField: zap.Int8p(key, val)}
}
func String(key string, val string) Field {
	return Field{zapField: zap.String(key, val)}
}
func Stringp(key string, val *string) Field {
	return Field{zapField: zap.Stringp(key, val)}
}
func Uint(key string, val uint) Field {
	return Field{zapField: zap.Uint(key, val)}
}
func Uintp(key string, val *uint) Field {
	return Field{zapField: zap.Uintp(key, val)}
}
func Uint64(key string, val uint64) Field {
	return Field{zapField: zap.Uint64(key, val)}
}