Internal

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.RFC3339

JSONMarshalFunc 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.RFC3339Nano

Functions

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.

Edit this page

Sourcey-generated documentation mirror for rs/zerolog (MIT), built from source at a pinned commit.Docs by Sourcey