var _sliceEncoderPool … func getSliceEncoder() *sliceArrayEncoder { … } func putSliceEncoder(e *sliceArrayEncoder) { … } type consoleEncoder … // NewConsoleEncoder creates an encoder whose output is designed for human - // rather than machine - consumption. It serializes the core log entry data // (message, level, timestamp, etc.) in a plain-text format and leaves the // structured context as JSON. // // Note that although the console encoder doesn't use the keys specified in the // encoder configuration, it will omit any element whose key is set to the empty // string. func NewConsoleEncoder(cfg EncoderConfig) Encoder { … } func (c consoleEncoder) Clone() Encoder { … } func (c consoleEncoder) EncodeEntry(ent Entry, fields []Field) (*buffer.Buffer, error) { … } func (c consoleEncoder) writeContext(line *buffer.Buffer, extra []Field) { … } func (c consoleEncoder) addSeparatorIfNecessary(line *buffer.Buffer) { … }