internal/cbor
import "github.com/rs/zerolog/internal/cbor"
Package cbor provides primitives for storing different data in the CBOR (binary) format. CBOR is defined in RFC7049.
Variables
IntegerTimeFieldFormat indicates the format of timestamp decoded from an integer (time in seconds).
Source: internal/cbor/cbor.go:68
var IntegerTimeFieldFormat = time.RFC3339JSONMarshalFunc is used to marshal interface to JSON encoded byte slice. Making it package level instead of embedded in Encoder brings some extra efforts at importing, but avoids value copy when the functions of Encoder being invoked. DO REMEMBER to set this variable at importing, or you might get a nil pointer dereference panic at runtime.
Source: internal/cbor/base.go:9
var JSONMarshalFunc func(v interface{}) ([]byte, error)NanoTimeFieldFormat indicates the format of timestamp decoded from a float value (time in seconds and nanoseconds).
Source: internal/cbor/cbor.go:72
var NanoTimeFieldFormat = time.RFC3339NanoFunctions
func AppendEmbeddedCBOR(dst, s []byte) []byte
Source: internal/cbor/string.go:98
AppendEmbeddedCBOR adds a tag and embeds input CBOR as such.
func AppendEmbeddedJSON(dst, s []byte) []byte
Source: internal/cbor/string.go:75
AppendEmbeddedJSON adds a tag and embeds input JSON as such.
func Cbor2JsonManyObjects(src io.Reader, dst io.Writer) (err error)
Source: internal/cbor/decode_stream.go:594
Cbor2JsonManyObjects decodes all the CBOR Objects read from src reader. It keeps on decoding until reader returns EOF (error when reading). Decoded string is written to the dst. At the end of every CBOR Object newline is written to the output stream.
Returns error (if any) that was encountered during decode. The child functions will generate a panic when error is encountered and this function will recover non-runtime Errors and return the reason as error.
func DecodeIfBinaryToBytes(in []byte) []byte
Source: internal/cbor/decode_stream.go:647
DecodeIfBinaryToBytes checks if the input is a binary format, if so, it will decode all Objects and return the decoded string as byte array.
func DecodeIfBinaryToString(in []byte) string
Source: internal/cbor/decode_stream.go:625
DecodeIfBinaryToString converts a binary formatted log msg to a JSON formatted String Log message - suitable for printing to Console/Syslog.
func DecodeObjectToStr(in []byte) string
Source: internal/cbor/decode_stream.go:636
DecodeObjectToStr checks if the input is a binary format, if so, it will decode a single Object and return the decoded string.
Types
type Encoder
Source: internal/cbor/base.go:11
type Encoder struct{}func (Encoder) AppendArrayDelim(dst []byte) []byte
Source: internal/cbor/types.go:43
AppendArrayDelim adds markers to indicate end of a particular array element.
func (Encoder) AppendArrayEnd(dst []byte) []byte
Source: internal/cbor/types.go:38
AppendArrayEnd adds markers to indicate the end of an array.
func (Encoder) AppendArrayStart(dst []byte) []byte
Source: internal/cbor/types.go:33
AppendArrayStart adds markers to indicate the start of an array.
func (Encoder) AppendBeginMarker(dst []byte) []byte
Source: internal/cbor/types.go:16
AppendBeginMarker inserts a map start into the dst byte array.
func (Encoder) AppendBool(dst []byte, val bool) []byte
Source: internal/cbor/types.go:55
AppendBool encodes and inserts a boolean value into the dst byte array.
func (e Encoder) AppendBools(dst []byte, vals []bool) []byte
Source: internal/cbor/types.go:64
AppendBools encodes and inserts an array of boolean values into the dst byte array.
func (Encoder) AppendBytes(dst, s []byte) []byte
Source: internal/cbor/string.go:61
AppendBytes encodes and adds an array of bytes to the dst byte array.
func (e Encoder) AppendDuration(dst []byte, d time.Duration, unit time.Duration, format string, useInt bool, unused int) []byte
Source: internal/cbor/time.go:77
AppendDuration encodes and adds a duration to the dst byte array. useInt field indicates whether to store the duration as seconds (integer) or as seconds+nanoseconds (float).
func (e Encoder) AppendDurations(dst []byte, vals []time.Duration, unit time.Duration, format string, useInt bool, unused int) []byte
Source: internal/cbor/time.go:95
AppendDurations encodes and adds an array of durations to the dst byte array. useInt field indicates whether to store the duration as seconds (integer) or as seconds+nanoseconds (float).
func (Encoder) AppendEndMarker(dst []byte) []byte
Source: internal/cbor/types.go:21
AppendEndMarker inserts a map end into the dst byte array.
func (Encoder) AppendFloat32(dst []byte, val float32, unused int) []byte
Source: internal/cbor/types.go:355
AppendFloat32 encodes and inserts a single precision float value into the dst byte array.
func (Encoder) AppendFloat64(dst []byte, val float64, unused int) []byte
Source: internal/cbor/types.go:394
AppendFloat64 encodes and inserts a double precision float value into the dst byte array.
func (e Encoder) AppendFloats32(dst []byte, vals []float32, unused int) []byte
Source: internal/cbor/types.go:375
AppendFloats32 encodes and inserts an array of single precision float value into the dst byte array.
func (e Encoder) AppendFloats64(dst []byte, vals []float64, unused int) []byte
Source: internal/cbor/types.go:415
AppendFloats64 encodes and inserts an array of double precision float values into the dst byte array.
func (e Encoder) AppendHex(dst []byte, val []byte) []byte
Source: internal/cbor/types.go:519
AppendHex adds a TAG and inserts a hex bytes as a string.
func (e Encoder) AppendIPAddr(dst []byte, ip net.IP) []byte
Source: internal/cbor/types.go:451
AppendIPAddr adds a net.IP IPv4 or IPv6 address into the dst byte array.
func (e Encoder) AppendIPAddrs(dst []byte, ips []net.IP) []byte
Source: internal/cbor/types.go:459
AppendIPAddrs adds a []net.IP array of IPv4 or IPv6 address into the dst byte array.
func (e Encoder) AppendIPPrefix(dst []byte, pfx net.IPNet) []byte
Source: internal/cbor/types.go:478
AppendIPPrefix adds a net.IPNet IPv4 or IPv6 Prefix (address & mask) into the dst byte array.
func (e Encoder) AppendIPPrefixes(dst []byte, pfxs []net.IPNet) []byte
Source: internal/cbor/types.go:492
AppendIPPrefixes adds a []net.IPNet array of IPv4 or IPv6 Prefix (address & mask) into the dst byte array.
func (Encoder) AppendInt(dst []byte, val int) []byte
Source: internal/cbor/types.go:83
AppendInt encodes and inserts an integer value into the dst byte array.
func (e Encoder) AppendInt16(dst []byte, val int16) []byte
Source: internal/cbor/types.go:143
AppendInt16 encodes and inserts a int16 value into the dst byte array.
func (e Encoder) AppendInt32(dst []byte, val int32) []byte
Source: internal/cbor/types.go:167
AppendInt32 encodes and inserts a int32 value into the dst byte array.
func (Encoder) AppendInt64(dst []byte, val int64) []byte
Source: internal/cbor/types.go:191
AppendInt64 encodes and inserts a int64 value into the dst byte array.
func (e Encoder) AppendInt8(dst []byte, val int8) []byte
Source: internal/cbor/types.go:119
AppendInt8 encodes and inserts an int8 value into the dst byte array.
func (e Encoder) AppendInterface(dst []byte, i interface{}) []byte
Source: internal/cbor/types.go:434
AppendInterface takes an arbitrary object and converts it to JSON and embeds it dst.
func (e Encoder) AppendInts(dst []byte, vals []int) []byte
Source: internal/cbor/types.go:100
AppendInts encodes and inserts an array of integer values into the dst byte array.
func (e Encoder) AppendInts16(dst []byte, vals []int16) []byte
Source: internal/cbor/types.go:148
AppendInts16 encodes and inserts an array of int16 values into the dst byte array.
func (e Encoder) AppendInts32(dst []byte, vals []int32) []byte
Source: internal/cbor/types.go:172
AppendInts32 encodes and inserts an array of int32 values into the dst byte array.
func (e Encoder) AppendInts64(dst []byte, vals []int64) []byte
Source: internal/cbor/types.go:208
AppendInts64 encodes and inserts an array of int64 values into the dst byte array.
func (e Encoder) AppendInts8(dst []byte, vals []int8) []byte
Source: internal/cbor/types.go:124
AppendInts8 encodes and inserts an array of integer values into the dst byte array.
func (e Encoder) AppendKey(dst []byte, key string) []byte
Source: internal/cbor/base.go:14
AppendKey adds a key (string) to the binary encoded log message
func (Encoder) AppendLineBreak(dst []byte) []byte
Source: internal/cbor/types.go:49
AppendLineBreak is a noop that keep API compat with json encoder.
func (e Encoder) AppendMACAddr(dst []byte, ha net.HardwareAddr) []byte
Source: internal/cbor/types.go:511
AppendMACAddr encodes and inserts a Hardware (MAC) address.
func (Encoder) AppendNil(dst []byte) []byte
Source: internal/cbor/types.go:11
AppendNil inserts a 'Nil' object into the dst byte array.
func (Encoder) AppendObjectData(dst []byte, o []byte) []byte
Source: internal/cbor/types.go:26
AppendObjectData takes an object in form of a byte array and appends to dst.
func (Encoder) AppendString(dst []byte, s string) []byte
Source: internal/cbor/string.go:22
AppendString encodes and adds a string to the dst byte array.
func (e Encoder) AppendStringer(dst []byte, val fmt.Stringer) []byte
Source: internal/cbor/string.go:53
AppendStringer encodes and adds the Stringer value to the dst byte array.
func (e Encoder) AppendStringers(dst []byte, vals []fmt.Stringer) []byte
Source: internal/cbor/string.go:37
AppendStringers encodes and adds an array of Stringer values to the dst byte array.
func (e Encoder) AppendStrings(dst []byte, vals []string) []byte
Source: internal/cbor/string.go:6
AppendStrings encodes and adds an array of strings to the dst byte array.
func (e Encoder) AppendTime(dst []byte, t time.Time, unused string) []byte
Source: internal/cbor/time.go:46
AppendTime encodes and adds a timestamp to the dst byte array.
func (e Encoder) AppendTimes(dst []byte, vals []time.Time, unused string) []byte
Source: internal/cbor/time.go:55
AppendTimes encodes and adds an array of timestamps to the dst byte array.
func (e Encoder) AppendType(dst []byte, i interface{}) []byte
Source: internal/cbor/types.go:443
AppendType appends the parameter type (as a string) to the input byte slice.
func (e Encoder) AppendUint(dst []byte, val uint) []byte
Source: internal/cbor/types.go:227
AppendUint encodes and inserts an unsigned integer value into the dst byte array.
func (e Encoder) AppendUint16(dst []byte, val uint16) []byte
Source: internal/cbor/types.go:275
AppendUint16 encodes and inserts a uint16 value into the dst byte array.
func (e Encoder) AppendUint32(dst []byte, val uint32) []byte
Source: internal/cbor/types.go:299
AppendUint32 encodes and inserts a uint32 value into the dst byte array.
func (Encoder) AppendUint64(dst []byte, val uint64) []byte
Source: internal/cbor/types.go:323
AppendUint64 encodes and inserts a uint64 value into the dst byte array.
func (e Encoder) AppendUint8(dst []byte, val uint8) []byte
Source: internal/cbor/types.go:251
AppendUint8 encodes and inserts a unsigned int8 value into the dst byte array.
func (e Encoder) AppendUints(dst []byte, vals []uint) []byte
Source: internal/cbor/types.go:232
AppendUints encodes and inserts an array of unsigned integer values into the dst byte array.
func (e Encoder) AppendUints16(dst []byte, vals []uint16) []byte
Source: internal/cbor/types.go:280
AppendUints16 encodes and inserts an array of uint16 values into the dst byte array.
func (e Encoder) AppendUints32(dst []byte, vals []uint32) []byte
Source: internal/cbor/types.go:304
AppendUints32 encodes and inserts an array of uint32 values into the dst byte array.
func (e Encoder) AppendUints64(dst []byte, vals []uint64) []byte
Source: internal/cbor/types.go:336
AppendUints64 encodes and inserts an array of uint64 values into the dst byte array.
func (e Encoder) AppendUints8(dst []byte, vals []uint8) []byte
Source: internal/cbor/types.go:256
AppendUints8 encodes and inserts an array of uint8 values into the dst byte array.