Documentation
¶
Overview ¶
Package plog is a JSON logging.
Index ¶
- Constants
- func StringAny(k string, v interface{}) kvm
- func StringBool(k string, v bool) kvm
- func StringBoolp(k string, v *bool) kvm
- func StringBools(k string, v []bool) kvm
- func StringBytes(k string, v []byte) kvm
- func StringBytesp(k string, v *[]byte) kvm
- func StringBytess(k string, v [][]byte) kvm
- func StringBytessp(k string, v []*[]byte) kvm
- func StringComplex128(k string, v complex128) kvm
- func StringComplex128p(k string, v *complex128) kvm
- func StringComplex64(k string, v complex64) kvm
- func StringComplex64p(k string, v *complex64) kvm
- func StringDuration(k string, v time.Duration) kvm
- func StringDurationp(k string, v *time.Duration) kvm
- func StringError(k string, v error) kvm
- func StringErrors(k string, v []error) kvm
- func StringFloat32(k string, v float32) kvm
- func StringFloat32p(k string, v *float32) kvm
- func StringFloat64(k string, v float64) kvm
- func StringFloat64p(k string, v *float64) kvm
- func StringFunc(k string, v func() pfmt.KV) kvm
- func StringInt(k string, v int) kvm
- func StringInt16(k string, v int16) kvm
- func StringInt16p(k string, v *int16) kvm
- func StringInt32(k string, v int32) kvm
- func StringInt32p(k string, v *int32) kvm
- func StringInt64(k string, v int64) kvm
- func StringInt64p(k string, v *int64) kvm
- func StringInt8(k string, v int8) kvm
- func StringInt8p(k string, v *int8) kvm
- func StringIntp(k string, v *int) kvm
- func StringLevel(k string, v string) kvl
- func StringRaw(k string, v []byte) kvm
- func StringReflect(k string, v interface{}) kvm
- func StringRunes(k string, v []rune) kvm
- func StringRunesp(k string, v *[]rune) kvm
- func StringString(k string, v string) kvm
- func StringStringp(k string, v *string) kvm
- func StringStrings(k string, v []string) kvm
- func StringTime(k string, v time.Time) kvm
- func StringTimep(k string, v *time.Time) kvm
- func StringUint(k string, v uint) kvm
- func StringUint16(k string, v uint16) kvm
- func StringUint16p(k string, v *uint16) kvm
- func StringUint32(k string, v uint32) kvm
- func StringUint32p(k string, v *uint32) kvm
- func StringUint64(k string, v uint64) kvm
- func StringUint64p(k string, v *uint64) kvm
- func StringUint8(k string, v uint8) kvm
- func StringUint8p(k string, v *uint8) kvm
- func StringUintp(k string, v *uint) kvm
- func StringUintptr(k string, v uintptr) kvm
- func StringUintptrp(k string, v *uintptr) kvm
- func TextAny(k encoding.TextMarshaler, v interface{}) kvm
- func TextBool(k encoding.TextMarshaler, v bool) kvm
- func TextBoolp(k encoding.TextMarshaler, v *bool) kvm
- func TextBytes(k encoding.TextMarshaler, v []byte) kvm
- func TextBytesp(k encoding.TextMarshaler, v *[]byte) kvm
- func TextComplex128(k encoding.TextMarshaler, v complex128) kvm
- func TextComplex128p(k encoding.TextMarshaler, v *complex128) kvm
- func TextComplex64(k encoding.TextMarshaler, v complex64) kvm
- func TextComplex64p(k encoding.TextMarshaler, v *complex64) kvm
- func TextDuration(k encoding.TextMarshaler, v time.Duration) kvm
- func TextDurationp(k encoding.TextMarshaler, v *time.Duration) kvm
- func TextError(k encoding.TextMarshaler, v error) kvm
- func TextFloat32(k encoding.TextMarshaler, v float32) kvm
- func TextFloat32p(k encoding.TextMarshaler, v *float32) kvm
- func TextFloat64(k encoding.TextMarshaler, v float64) kvm
- func TextFloat64p(k encoding.TextMarshaler, v *float64) kvm
- func TextFunc(k encoding.TextMarshaler, v func() json.Marshaler) kvm
- func TextInt(k encoding.TextMarshaler, v int) kvm
- func TextInt16(k encoding.TextMarshaler, v int16) kvm
- func TextInt16p(k encoding.TextMarshaler, v *int16) kvm
- func TextInt32(k encoding.TextMarshaler, v int32) kvm
- func TextInt32p(k encoding.TextMarshaler, v *int32) kvm
- func TextInt64(k encoding.TextMarshaler, v int64) kvm
- func TextInt64p(k encoding.TextMarshaler, v *int64) kvm
- func TextInt8(k encoding.TextMarshaler, v int8) kvm
- func TextInt8p(k encoding.TextMarshaler, v *int8) kvm
- func TextIntp(k encoding.TextMarshaler, v *int) kvm
- func TextRaw(k encoding.TextMarshaler, v []byte) kvm
- func TextReflect(k encoding.TextMarshaler, v interface{}) kvm
- func TextRunes(k encoding.TextMarshaler, v []rune) kvm
- func TextRunesp(k encoding.TextMarshaler, v *[]rune) kvm
- func TextString(k encoding.TextMarshaler, v string) kvm
- func TextStringp(k encoding.TextMarshaler, v *string) kvm
- func TextText(k, v encoding.TextMarshaler) kvm
- func TextTime(k encoding.TextMarshaler, v time.Time) kvm
- func TextTimep(k encoding.TextMarshaler, v *time.Time) kvm
- func TextUint(k encoding.TextMarshaler, v uint) kvm
- func TextUint16(k encoding.TextMarshaler, v uint16) kvm
- func TextUint16p(k encoding.TextMarshaler, v *uint16) kvm
- func TextUint32(k encoding.TextMarshaler, v uint32) kvm
- func TextUint32p(k encoding.TextMarshaler, v *uint32) kvm
- func TextUint64(k encoding.TextMarshaler, v uint64) kvm
- func TextUint64p(k encoding.TextMarshaler, v *uint64) kvm
- func TextUint8(k encoding.TextMarshaler, v uint8) kvm
- func TextUint8p(k encoding.TextMarshaler, v *uint8) kvm
- func TextUintp(k encoding.TextMarshaler, v *uint) kvm
- func TextUintptr(k encoding.TextMarshaler, v uintptr) kvm
- func TextUintptrp(k encoding.TextMarshaler, v *uintptr) kvm
- type Encoder
- type KeyValuer
- type Leveler
- type Log
- type Logger
- type Option
- func WithBlankLabel(label []byte) Option
- func WithEmptyLabel(label []byte) Option
- func WithExceptKey(key string) Option
- func WithExcerptLen(length int) Option
- func WithExcerptMessage() Option
- func WithFilePathKey(key string) Option
- func WithFlag(f int) Option
- func WithKV(kv ...pfmt.KV) Option
- func WithLevel(level func(level string) (output io.Writer)) Option
- func WithOriginal() Option
- func WithOriginalKey(key string) Option
- func WithOutput(output io.Writer) Option
- func WithReplace(find, replace []byte) Option
- func WithTrailKey(key string) Option
- func WithTruncateLabel(label []byte) Option
- func WithoutReplace() Option
Constants ¶
const ( Original = iota Excerpt Trail File )
const ( Trunc = iota Empty Blank )
Variables ¶
This section is empty.
Functions ¶
func StringBool ¶
func StringBoolp ¶
func StringBools ¶
func StringBytes ¶
func StringBytesp ¶
func StringBytess ¶
func StringBytessp ¶
func StringComplex128 ¶
func StringComplex128(k string, v complex128) kvm
func StringComplex128p ¶
func StringComplex128p(k string, v *complex128) kvm
func StringComplex64 ¶
func StringComplex64p ¶
func StringDuration ¶
func StringDurationp ¶
func StringError ¶
func StringErrors ¶
func StringFloat32 ¶
func StringFloat32p ¶
func StringFloat64 ¶
func StringFloat64p ¶
func StringFunc ¶
func StringInt16 ¶
func StringInt16p ¶
func StringInt32 ¶
func StringInt32p ¶
func StringInt64 ¶
func StringInt64p ¶
func StringInt8 ¶
func StringInt8p ¶
func StringIntp ¶
func StringLevel ¶
func StringReflect ¶
func StringReflect(k string, v interface{}) kvm
func StringRunes ¶
func StringRunesp ¶
func StringString ¶
func StringStringp ¶
func StringStrings ¶
func StringTime ¶
func StringTimep ¶
func StringUint ¶
func StringUint16 ¶
func StringUint16p ¶
func StringUint32 ¶
func StringUint32p ¶
func StringUint64 ¶
func StringUint64p ¶
func StringUint8 ¶
func StringUint8p ¶
func StringUintp ¶
func StringUintptr ¶
func StringUintptrp ¶
func TextAny ¶
func TextAny(k encoding.TextMarshaler, v interface{}) kvm
func TextBool ¶
func TextBool(k encoding.TextMarshaler, v bool) kvm
func TextBoolp ¶
func TextBoolp(k encoding.TextMarshaler, v *bool) kvm
func TextBytes ¶
func TextBytes(k encoding.TextMarshaler, v []byte) kvm
func TextBytesp ¶
func TextBytesp(k encoding.TextMarshaler, v *[]byte) kvm
func TextComplex128 ¶
func TextComplex128(k encoding.TextMarshaler, v complex128) kvm
func TextComplex128p ¶
func TextComplex128p(k encoding.TextMarshaler, v *complex128) kvm
func TextComplex64 ¶
func TextComplex64(k encoding.TextMarshaler, v complex64) kvm
func TextComplex64p ¶
func TextComplex64p(k encoding.TextMarshaler, v *complex64) kvm
func TextDuration ¶
func TextDuration(k encoding.TextMarshaler, v time.Duration) kvm
func TextDurationp ¶
func TextDurationp(k encoding.TextMarshaler, v *time.Duration) kvm
func TextError ¶
func TextError(k encoding.TextMarshaler, v error) kvm
func TextFloat32 ¶
func TextFloat32(k encoding.TextMarshaler, v float32) kvm
func TextFloat32p ¶
func TextFloat32p(k encoding.TextMarshaler, v *float32) kvm
func TextFloat64 ¶
func TextFloat64(k encoding.TextMarshaler, v float64) kvm
func TextFloat64p ¶
func TextFloat64p(k encoding.TextMarshaler, v *float64) kvm
func TextInt ¶
func TextInt(k encoding.TextMarshaler, v int) kvm
func TextInt16 ¶
func TextInt16(k encoding.TextMarshaler, v int16) kvm
func TextInt16p ¶
func TextInt16p(k encoding.TextMarshaler, v *int16) kvm
func TextInt32 ¶
func TextInt32(k encoding.TextMarshaler, v int32) kvm
func TextInt32p ¶
func TextInt32p(k encoding.TextMarshaler, v *int32) kvm
func TextInt64 ¶
func TextInt64(k encoding.TextMarshaler, v int64) kvm
func TextInt64p ¶
func TextInt64p(k encoding.TextMarshaler, v *int64) kvm
func TextInt8 ¶
func TextInt8(k encoding.TextMarshaler, v int8) kvm
func TextInt8p ¶
func TextInt8p(k encoding.TextMarshaler, v *int8) kvm
func TextIntp ¶
func TextIntp(k encoding.TextMarshaler, v *int) kvm
func TextRaw ¶
func TextRaw(k encoding.TextMarshaler, v []byte) kvm
func TextReflect ¶
func TextReflect(k encoding.TextMarshaler, v interface{}) kvm
func TextRunes ¶
func TextRunes(k encoding.TextMarshaler, v []rune) kvm
func TextRunesp ¶
func TextRunesp(k encoding.TextMarshaler, v *[]rune) kvm
func TextString ¶
func TextString(k encoding.TextMarshaler, v string) kvm
func TextStringp ¶
func TextStringp(k encoding.TextMarshaler, v *string) kvm
func TextText ¶
func TextText(k, v encoding.TextMarshaler) kvm
func TextUint ¶
func TextUint(k encoding.TextMarshaler, v uint) kvm
func TextUint16 ¶
func TextUint16(k encoding.TextMarshaler, v uint16) kvm
func TextUint16p ¶
func TextUint16p(k encoding.TextMarshaler, v *uint16) kvm
func TextUint32 ¶
func TextUint32(k encoding.TextMarshaler, v uint32) kvm
func TextUint32p ¶
func TextUint32p(k encoding.TextMarshaler, v *uint32) kvm
func TextUint64 ¶
func TextUint64(k encoding.TextMarshaler, v uint64) kvm
func TextUint64p ¶
func TextUint64p(k encoding.TextMarshaler, v *uint64) kvm
func TextUint8 ¶
func TextUint8(k encoding.TextMarshaler, v uint8) kvm
func TextUint8p ¶
func TextUint8p(k encoding.TextMarshaler, v *uint8) kvm
func TextUintp ¶
func TextUintp(k encoding.TextMarshaler, v *uint) kvm
func TextUintptr ¶
func TextUintptr(k encoding.TextMarshaler, v uintptr) kvm
func TextUintptrp ¶
func TextUintptrp(k encoding.TextMarshaler, v *uintptr) kvm
Types ¶
type Log ¶
type Log struct { Output io.Writer // Output is a destination for output. Flag int // Flag is a log properties. KV []pfmt.KV // KV is a key-values. Level func(level string) (output io.Writer) // Level function receives severity level and returns a output writer for a severity level. Keys [4]encoding.TextMarshaler // Keys: 0 = original message; 1 = message excerpt; 2 = message trail; 3 = file path. Key uint8 // Key is a default/sticky message key: all except 0 = original message; 1 = message excerpt. Trunc int // Trunc is a maximum length of an excerpt, after which it is truncated. Marks [3][]byte // Marks: 0 = truncate; 1 = empty; 2 = blank. Replace [][2][]byte // Replace ia a pairs of byte slices to replace in the message excerpt. }
Log is a JSON logger/writer.
func GELF ¶
func GELF() *Log
GELF returns a GELF formater <https://docs.graylog.org/en/latest/pages/gelf.html>.
func (*Log) Tee ¶
Tee returns copy of the logger with additional key-values. If first key-value pair implements the Leveler interface and the Level field of the Log is not null then calls the function from Level field with the severity level as argument which obtained from Leveler interface. Then the function from Level field returns writer for output of the logger. Copy of the original key-values has the priority lower than the priority of the newer key-values.
type Option ¶
type Option func(*Log)
Option changes log configuration.
func WithBlankLabel ¶
WithBlankLabel sets a blank mark, for example BLANK.
func WithEmptyLabel ¶
WithEmptyLabel sets a empty mark, for example EMPTY.
func WithExceptKey ¶
WithExceptKey sets a key name of a message except.
func WithExcerptLen ¶
WithExcerptLen sets a maximum length of an excerpt, truncate message after maximum length.
func WithExcerptMessage ¶
func WithExcerptMessage() Option
WithExcerptMessage uses message except key by default (switches to sticky message excerpt).
func WithFilePathKey ¶
WithFilePathKey sets a key name of a log file path.
func WithLevel ¶
WithLevel sets a level function receives severity level and returns a output writer for a severity level.
func WithOriginal ¶
func WithOriginal() Option
WithOriginal uses original message key by default (switches to sticky original message).
func WithOriginalKey ¶
WithOriginalKey sets a key name of a original message.
func WithReplace ¶
WithReplace add find and replace pair.
func WithTrailKey ¶
WithTrailKey sets a key name of a message trail.
func WithTruncateLabel ¶
WithTruncateLabel sets a truncate mark, for example ....