Documentation ¶
Index ¶
- Variables
- func HasTerminal(w io.Writer) bool
- func POFieldIndent(indent int) poFieldIndent
- func POLevel(visible bool) poLevel
- func POTime(visible bool) poTime
- func POTransientLineLength(cols int) poTransientLineLength
- func RemoveAnchor(log Logger)
- type AnchorAdder
- type AnchorRemover
- type AnchoredLogger
- func (l *AnchoredLogger) Error(msg string, fielders ...Fielder) Logger
- func (l *AnchoredLogger) Info(msg string, fielders ...Fielder) Logger
- func (l *AnchoredLogger) Log(level Level, msg string, fielders ...Fielder) Logger
- func (l *AnchoredLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
- func (l *AnchoredLogger) MinLevel() Level
- func (l *AnchoredLogger) Parent() Logger
- func (l *AnchoredLogger) RemoveAnchor()
- func (l *AnchoredLogger) SetMinLevel(level Level) Logger
- func (l *AnchoredLogger) Transient(msg string, fielders ...Fielder) Logger
- func (l *AnchoredLogger) Verbose(msg string, fielders ...Fielder) Logger
- func (l *AnchoredLogger) Warning(msg string, fielders ...Fielder) Logger
- type Buffered
- func (l *Buffered) AddAnchor(parent Logger) Logger
- func (l *Buffered) Close()
- func (l *Buffered) Error(msg string, fielders ...Fielder) Logger
- func (l *Buffered) Info(msg string, fielders ...Fielder) Logger
- func (l *Buffered) Log(level Level, msg string, fielders ...Fielder) Logger
- func (l *Buffered) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
- func (l *Buffered) MinLevel() Level
- func (l *Buffered) SetMinLevel(level Level) Logger
- func (l *Buffered) Transient(msg string, fielders ...Fielder) Logger
- func (l *Buffered) Verbose(msg string, fielders ...Fielder) Logger
- func (l *Buffered) Warning(msg string, fielders ...Fielder) Logger
- type ChildLogger
- type Color
- type CustomizerLogger
- func (l *CustomizerLogger) Error(msg string, fielders ...Fielder) Logger
- func (l *CustomizerLogger) Info(msg string, fielders ...Fielder) Logger
- func (l *CustomizerLogger) Log(level Level, msg string, fielders ...Fielder) Logger
- func (l *CustomizerLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
- func (l *CustomizerLogger) MinLevel() Level
- func (l *CustomizerLogger) Parent() Logger
- func (l *CustomizerLogger) SetMinLevel(level Level) Logger
- func (l *CustomizerLogger) Transient(msg string, fielders ...Fielder) Logger
- func (l *CustomizerLogger) Verbose(msg string, fielders ...Fielder) Logger
- func (l *CustomizerLogger) Warning(msg string, fielders ...Fielder) Logger
- type Field
- type FieldBool
- type FieldDuration
- type FieldError
- type FieldFloat32
- type FieldFloat64
- type FieldInt64
- type FieldString
- type FieldTimeFormat
- type FieldTimeUnix
- type FieldTimeUnixNano
- type FieldUint64
- type Fielder
- type ImplData
- type JSONPrinter
- type Level
- type Logger
- type NewLogger
- type NoAnchorLogger
- func (l *NoAnchorLogger) Error(msg string, fielders ...Fielder) Logger
- func (l *NoAnchorLogger) Info(msg string, fielders ...Fielder) Logger
- func (l *NoAnchorLogger) Log(level Level, msg string, fielders ...Fielder) Logger
- func (l *NoAnchorLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
- func (l *NoAnchorLogger) MinLevel() Level
- func (l *NoAnchorLogger) Parent() Logger
- func (l *NoAnchorLogger) RemoveAnchor()
- func (l *NoAnchorLogger) SetMinLevel(level Level) Logger
- func (l *NoAnchorLogger) Transient(msg string, fielders ...Fielder) Logger
- func (l *NoAnchorLogger) Verbose(msg string, fielders ...Fielder) Logger
- func (l *NoAnchorLogger) Warning(msg string, fielders ...Fielder) Logger
- type NullLogger
- func (n *NullLogger) Close()
- func (n *NullLogger) Error(format string, fielders ...Fielder) Logger
- func (n *NullLogger) Info(format string, fielders ...Fielder) Logger
- func (n *NullLogger) Log(level Level, msg string, fielders ...Fielder) Logger
- func (n *NullLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
- func (n *NullLogger) MinLevel() Level
- func (n *NullLogger) SetMinLevel(level Level) Logger
- func (n *NullLogger) Transient(format string, fielders ...Fielder) Logger
- func (n *NullLogger) Verbose(format string, fielders ...Fielder) Logger
- func (n *NullLogger) Warning(format string, fielders ...Fielder) Logger
- type Palette
- type Printer
- type PrinterOption
- type RootLogger
- type TeeLogger
- func (l *TeeLogger) Error(msg string, fielders ...Fielder) Logger
- func (l *TeeLogger) Info(msg string, fielders ...Fielder) Logger
- func (l *TeeLogger) Log(level Level, msg string, fielders ...Fielder) Logger
- func (l *TeeLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
- func (n *TeeLogger) MinLevel() Level
- func (l *TeeLogger) Parent() Logger
- func (n *TeeLogger) SetMinLevel(level Level) Logger
- func (l *TeeLogger) Transient(msg string, fielders ...Fielder) Logger
- func (l *TeeLogger) Verbose(msg string, fielders ...Fielder) Logger
- func (l *TeeLogger) Warning(msg string, fielders ...Fielder) Logger
- type TextPrinter
- type Unbuffered
- func (l *Unbuffered) Close()
- func (l *Unbuffered) Error(msg string, fielders ...Fielder) Logger
- func (l *Unbuffered) Info(msg string, fielders ...Fielder) Logger
- func (l *Unbuffered) Log(level Level, msg string, fielders ...Fielder) Logger
- func (l *Unbuffered) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
- func (l *Unbuffered) MinLevel() Level
- func (l *Unbuffered) SetMinLevel(level Level) Logger
- func (l *Unbuffered) Transient(msg string, fielders ...Fielder) Logger
- func (l *Unbuffered) Verbose(msg string, fielders ...Fielder) Logger
- func (l *Unbuffered) Warning(msg string, fielders ...Fielder) Logger
Constants ¶
This section is empty.
Variables ¶
var DarkPalette = Palette{ {DarkGray, DarkGray}, {DarkGray, DarkGray}, {DarkGray, DarkGray}, {DarkGray, DarkGray}, {DarkGray, DarkGray}, }
var DefaultPalette = Palette{ {DarkGreen, DarkGray}, {Cyan, DarkCyan}, {White, LightGray}, {Yellow, DarkYellow}, {Red, DarkRed}, }
var POFieldsLeftMsgRight poFieldsLeftMsgRight
var POMsgLeftFieldsRight poMsgLeftFieldsRight
Functions ¶
func HasTerminal ¶ added in v0.4.1
HasTerminal returns true if the passed writer is connected to a terminal.
func POFieldIndent ¶ added in v0.8.0
func POFieldIndent(indent int) poFieldIndent
func POTransientLineLength ¶ added in v0.8.4
func POTransientLineLength(cols int) poTransientLineLength
func RemoveAnchor ¶ added in v0.7.1
func RemoveAnchor(log Logger)
RemoveAnchor needs to be passed the logger that was returned by AddAnchor. It can also work by being passed a child of that Logger.
Types ¶
type AnchorAdder ¶ added in v0.7.1
AnchorAdder is the interface for loggers that support anchoring a line to the bottom of the output, for progress bars or other transient status messages.
type AnchorRemover ¶ added in v0.7.1
type AnchorRemover interface {
RemoveAnchor()
}
AnchorRemover is the interface that an anchor logger must implement in order for the anchor to be removed before app end.
type AnchoredLogger ¶ added in v0.7.1
type AnchoredLogger struct {
// contains filtered or unexported fields
}
AnchoredLogger is a Logger that treats Transient level log data in a special way: - Transient level is never ignored, and always overwrites the same output line. - Non-Transient level is sent to the parent logger.
func (*AnchoredLogger) Error ¶ added in v0.7.1
func (l *AnchoredLogger) Error(msg string, fielders ...Fielder) Logger
func (*AnchoredLogger) Info ¶ added in v0.7.1
func (l *AnchoredLogger) Info(msg string, fielders ...Fielder) Logger
func (*AnchoredLogger) Log ¶ added in v0.7.1
func (l *AnchoredLogger) Log(level Level, msg string, fielders ...Fielder) Logger
func (*AnchoredLogger) LogImpl ¶ added in v0.9.0
func (l *AnchoredLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
func (*AnchoredLogger) MinLevel ¶ added in v0.9.2
func (l *AnchoredLogger) MinLevel() Level
func (*AnchoredLogger) Parent ¶ added in v0.7.1
func (l *AnchoredLogger) Parent() Logger
func (*AnchoredLogger) RemoveAnchor ¶ added in v0.7.1
func (l *AnchoredLogger) RemoveAnchor()
func (*AnchoredLogger) SetMinLevel ¶ added in v0.7.1
func (l *AnchoredLogger) SetMinLevel(level Level) Logger
func (*AnchoredLogger) Transient ¶ added in v0.7.1
func (l *AnchoredLogger) Transient(msg string, fielders ...Fielder) Logger
type Buffered ¶
type Buffered struct {
// contains filtered or unexported fields
}
func NewBuffered ¶
func (*Buffered) AddAnchor ¶ added in v0.7.1
AddAnchor creates a Logger that is "achored" to the bottom of the output. This "anchoring" is achieved by using ANSI to re-draw the anchored line at the bottom as the output scrolls up. Thread safe.
func (*Buffered) Close ¶
func (l *Buffered) Close()
Close should be called before the app exits, to ensure any buffered output is flushed. Thread safe.
func (*Buffered) SetMinLevel ¶
type ChildLogger ¶ added in v0.2.0
type ChildLogger interface { // Parent returns the parent Logger, or nil if it has no parent. Parent() Logger }
ChildLogger is the interface for loggers that feed back to a parent.
type Color ¶ added in v0.6.0
type Color byte
Color is the public interface to the underlying ANSI colors.
type CustomizerLogger ¶ added in v0.8.0
type CustomizerLogger struct {
// contains filtered or unexported fields
}
CustomizerLogger is a Logger that adds specific fields and/or sets specific printer options for each line it logs
func (*CustomizerLogger) Error ¶ added in v0.8.0
func (l *CustomizerLogger) Error(msg string, fielders ...Fielder) Logger
func (*CustomizerLogger) Info ¶ added in v0.8.0
func (l *CustomizerLogger) Info(msg string, fielders ...Fielder) Logger
func (*CustomizerLogger) Log ¶ added in v0.8.0
func (l *CustomizerLogger) Log(level Level, msg string, fielders ...Fielder) Logger
func (*CustomizerLogger) LogImpl ¶ added in v0.9.0
func (l *CustomizerLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
func (*CustomizerLogger) MinLevel ¶ added in v0.9.2
func (l *CustomizerLogger) MinLevel() Level
func (*CustomizerLogger) Parent ¶ added in v0.8.0
func (l *CustomizerLogger) Parent() Logger
func (*CustomizerLogger) SetMinLevel ¶ added in v0.8.0
func (l *CustomizerLogger) SetMinLevel(level Level) Logger
func (*CustomizerLogger) Transient ¶ added in v0.8.0
func (l *CustomizerLogger) Transient(msg string, fielders ...Fielder) Logger
type Field ¶ added in v0.4.0
type Field struct { Name string Value string IsJSONString bool // if true, the string in Value should be bookended by double quotes to be valid JSON IsJSONSafe bool // if true, this string only contains alpha-numerics, spaces, and safe punctuation }
func Fieldify ¶ added in v0.9.3
Fieldify takes a slice of Fielders and calls Field() on each, resulting in a slice of Fields
func FieldifyAndAppend ¶ added in v0.9.3
FieldifyAndAppend returns a slice of Fields that starts with a copy the passed in []Field, and then appends the passed in []Fielder, after first rendering them to Fields.
type FieldBool ¶ added in v0.4.0
type FieldDuration ¶ added in v0.4.0
func Dur ¶ added in v0.4.0
func Dur(name string, value time.Duration) FieldDuration
Dur adds a time.Duration field
func Duration ¶ added in v0.4.0
func Duration(name string, value time.Duration) FieldDuration
Duration adds a time.Duration field
func (FieldDuration) Field ¶ added in v0.4.0
func (f FieldDuration) Field() Field
type FieldError ¶ added in v0.4.0
func (FieldError) Field ¶ added in v0.4.0
func (f FieldError) Field() Field
type FieldFloat32 ¶ added in v0.9.3
func Float32 ¶ added in v0.4.0
func Float32(name string, value float32) FieldFloat32
Float32 adds a 32-bit floating point number field
func (FieldFloat32) Field ¶ added in v0.9.3
func (f FieldFloat32) Field() Field
type FieldFloat64 ¶ added in v0.4.0
func Float64 ¶ added in v0.4.0
func Float64(name string, value float64) FieldFloat64
Float64 adds a 64-bit floating point number field
func (FieldFloat64) Field ¶ added in v0.4.0
func (f FieldFloat64) Field() Field
type FieldInt64 ¶ added in v0.4.0
func Int ¶ added in v0.4.0
func Int(name string, value int) FieldInt64
Int adds a signed integer field
func Int16 ¶ added in v0.4.0
func Int16(name string, value int16) FieldInt64
Int16 adds a 16-bit signed integer field
func Int32 ¶ added in v0.4.0
func Int32(name string, value int32) FieldInt64
Int32 adds a 32-bit signed integer field
func Int64 ¶ added in v0.4.0
func Int64(name string, value int64) FieldInt64
Int64 adds a 64-bit signed integer field
func Int8 ¶ added in v0.4.0
func Int8(name string, value int8) FieldInt64
Int8 adds an 8-bit signed integer field
func (FieldInt64) Field ¶ added in v0.4.0
func (f FieldInt64) Field() Field
type FieldString ¶ added in v0.4.0
func Path ¶ added in v0.9.5
func Path(path string) FieldString
Path adds a field named "path" with the value of the passed in path, with '/' as the path separator ('/' is valid on Windows, and avoids escaping '\\' characters)
func PathAbs ¶ added in v0.9.5
func PathAbs(path string) FieldString
PathAbs adds a field named "path_abs" that contains the result of passing the given path to filepath.Abs(). Similar to Path, '/' is used as the path separator.
func String ¶ added in v0.4.0
func String(name string, value string) FieldString
String adds an escaped and quoted string field
func (FieldString) Field ¶ added in v0.4.0
func (f FieldString) Field() Field
type FieldTimeFormat ¶ added in v0.4.0
func Time ¶ added in v0.4.0
func Time(name string, value time.Time) FieldTimeFormat
Time adds a time.Time field that will output a string formatted using RFC 3339 (ISO 8601)
func TimeNano ¶ added in v0.4.0
func TimeNano(name string, value time.Time) FieldTimeFormat
TimeNano adds a time.Time field that will output a string formatted using RFC 3339 with nanosecond precision
func (FieldTimeFormat) Field ¶ added in v0.4.0
func (f FieldTimeFormat) Field() Field
type FieldTimeUnix ¶ added in v0.4.0
func TimeUnix ¶ added in v0.4.0
func TimeUnix(name string, value time.Time) FieldTimeUnix
TimeUnix adds a time.Time field that outputs as a unix epoch (unsigned integer)
func (FieldTimeUnix) Field ¶ added in v0.4.0
func (f FieldTimeUnix) Field() Field
type FieldTimeUnixNano ¶ added in v0.9.3
func TimeUnixNano ¶ added in v0.4.0
func TimeUnixNano(name string, value time.Time) FieldTimeUnixNano
TimeUnixNano adds a time.Time field that outputs as a unix epoch with nanosecond precision (unsigned integer)
func (FieldTimeUnixNano) Field ¶ added in v0.9.3
func (f FieldTimeUnixNano) Field() Field
type FieldUint64 ¶ added in v0.4.0
func Byte ¶ added in v0.4.0
func Byte(name string, value byte) FieldUint64
Byte adds an 8-bit unsigned integer field
func Uint ¶ added in v0.4.0
func Uint(name string, value uint) FieldUint64
Uint adds an unsigned integer field
func Uint16 ¶ added in v0.4.0
func Uint16(name string, value uint16) FieldUint64
Uint16 adds a 16-bit unsigned integer field
func Uint32 ¶ added in v0.4.0
func Uint32(name string, value uint32) FieldUint64
Uint32 adds a 32-bit unsigned integer field
func Uint64 ¶ added in v0.4.0
func Uint64(name string, value uint64) FieldUint64
Uint64 adds a 64-bit unsigned integer field
func Uint8 ¶ added in v0.4.0
func Uint8(name string, value uint8) FieldUint64
Uint8 adds an 8-bit unsigned integer field
func (FieldUint64) Field ¶ added in v0.4.0
func (f FieldUint64) Field() Field
type Fielder ¶ added in v0.4.0
type Fielder interface {
Field() Field
}
Fielder is an interface used to add structured logging to calls to Logger methods
type ImplData ¶ added in v0.9.2
type ImplData struct { // AnchoredLine should be 0 to indicate no anchor, or any number > 0 to uniquely identify a given // anchored line AnchoredLine int32 // MinLevel is passed up to the RootLogger, where it is used to decide if this message should be // processed or not. // Each child that is passed this MinLevel should update it (e.g. via MergeMinLevel) to be the // max of the passed MinLevel and its own internal MinLevel. MinLevel Level // Fields holds Fielders that have already been turned into Fields. This is used by // CustomizerLoggers to cache the fields that will be included with every log message. Fields []Field }
ImplData is additional data required to pass from child to parent in order for advanced features like anchoirng to function properly.
func (*ImplData) MergeFields ¶ added in v0.9.3
MergeFields adds any passed in fields before the existing fields
func (*ImplData) MergeMinLevel ¶ added in v0.9.2
MergeMinLevel sets MinLevel to the max of its own MinLevel and the passed in Level.
type JSONPrinter ¶ added in v0.2.1
type JSONPrinter struct {
TimeOverride time.Time // TODO: only tests use this currently, can we instead support POTime for tests?
}
func (*JSONPrinter) Render ¶ added in v0.2.1
func (p *JSONPrinter) Render(level Level, opts []PrinterOption, msg string, fields []Field) string
func (*JSONPrinter) SetOptions ¶ added in v0.8.0
func (p *JSONPrinter) SetOptions(opts ...PrinterOption) Printer
type Logger ¶
type Logger interface { // MinLevel gets the minimum level that is filtered by this Logger instance. // If this Logger is part of a chain of nested Loggers, note that that this only returns the min // level of this link in the chain. This Logger's parents may have more restrictive min levels // that prevent log lines from being displayed. MinLevel() Level // SetMinLevel sets the lowest Level that will be accepted by this Logger. // If this Logger has parent(s), the effective MinLevel will be the max of each logger's min level. SetMinLevel(level Level) Logger // Transient logs a string (with optional fielders) with the log level set to Transient. Transient(msg string, fielders ...Fielder) Logger // Verbose logs a string (with optional fielders) with the log level set to Verbose. Verbose(msg string, fielders ...Fielder) Logger // Info logs a string (with optional fielders) with the log level set to Info. Info(msg string, fielders ...Fielder) Logger // Warning logs a string (with optional fielders) with the log level set to Warning. Warning(msg string, fielders ...Fielder) Logger // Error logs a string (with optional fielders) with the log level set to Error. Error(msg string, fielders ...Fielder) Logger // Log logs a string (with optional fielders) with the log level set to the passed in value. Log(level Level, msg string, fielders ...Fielder) Logger // LogImpl is called by children to pass up log events to the root Logger. LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData) }
func AddAnchor ¶ added in v0.7.1
AddAnchor adds a new logger on an anchored line (if supported). Else, returns passed in Logger.
func WithFields ¶ added in v0.8.0
WithFields creates a new Logger that wraps the parent logger, adding the specified fields when the returned Logger is used, but leaving the parent unmodified.
func WithOptions ¶ added in v0.8.0
func WithOptions(log Logger, opts ...PrinterOption) Logger
WithOptions creates a new Logger that wraps the passed Logger, adding the specified PrinterOptions when the returned Logger is used, but leaving the parent unmodified.
func WithOptionsAndFields ¶ added in v0.8.0
func WithOptionsAndFields(log Logger, opts []PrinterOption, fielders []Fielder) Logger
WithOptionsAndFields creates a new Logger that wraps the passed Logger, adding the specified fields and PrinterOptions when the return Logger is used, but leaving the parent unmodified.
type NoAnchorLogger ¶ added in v0.9.2
type NoAnchorLogger struct {
// contains filtered or unexported fields
}
NoAnchorLogger is a Logger that is returned from AddAnchor when the RootLogger doesn't support anchors. NoAnchorLogger allows changing the min level, just like an AnchorLogger, but otherwise does nothing but pass through to the parent.
func (*NoAnchorLogger) Error ¶ added in v0.9.2
func (l *NoAnchorLogger) Error(msg string, fielders ...Fielder) Logger
func (*NoAnchorLogger) Info ¶ added in v0.9.2
func (l *NoAnchorLogger) Info(msg string, fielders ...Fielder) Logger
func (*NoAnchorLogger) Log ¶ added in v0.9.2
func (l *NoAnchorLogger) Log(level Level, msg string, fielders ...Fielder) Logger
func (*NoAnchorLogger) LogImpl ¶ added in v0.9.2
func (l *NoAnchorLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
func (*NoAnchorLogger) MinLevel ¶ added in v0.9.2
func (l *NoAnchorLogger) MinLevel() Level
func (*NoAnchorLogger) Parent ¶ added in v0.9.2
func (l *NoAnchorLogger) Parent() Logger
func (*NoAnchorLogger) RemoveAnchor ¶ added in v0.9.2
func (l *NoAnchorLogger) RemoveAnchor()
func (*NoAnchorLogger) SetMinLevel ¶ added in v0.9.2
func (l *NoAnchorLogger) SetMinLevel(level Level) Logger
func (*NoAnchorLogger) Transient ¶ added in v0.9.2
func (l *NoAnchorLogger) Transient(msg string, fielders ...Fielder) Logger
type NullLogger ¶ added in v0.6.0
type NullLogger struct {
// contains filtered or unexported fields
}
func (*NullLogger) Close ¶ added in v0.6.0
func (n *NullLogger) Close()
func (*NullLogger) Error ¶ added in v0.6.0
func (n *NullLogger) Error(format string, fielders ...Fielder) Logger
func (*NullLogger) Info ¶ added in v0.6.0
func (n *NullLogger) Info(format string, fielders ...Fielder) Logger
func (*NullLogger) Log ¶ added in v0.6.0
func (n *NullLogger) Log(level Level, msg string, fielders ...Fielder) Logger
func (*NullLogger) LogImpl ¶ added in v0.9.0
func (n *NullLogger) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
func (*NullLogger) MinLevel ¶ added in v0.9.2
func (n *NullLogger) MinLevel() Level
func (*NullLogger) SetMinLevel ¶ added in v0.6.0
func (n *NullLogger) SetMinLevel(level Level) Logger
func (*NullLogger) Transient ¶ added in v0.6.0
func (n *NullLogger) Transient(format string, fielders ...Fielder) Logger
type Palette ¶ added in v0.8.0
type Palette [levelMax][2]Color
Palette is the primary (0) and secondary (1) colors for each log level
type Printer ¶
type Printer interface { Render(Level, []PrinterOption, string, []Field) string SetOptions(...PrinterOption) Printer }
type PrinterOption ¶ added in v0.8.0
type PrinterOption interface { String() string // contains filtered or unexported methods }
func POPalette ¶ added in v0.8.0
func POPalette(p Palette) PrinterOption
type RootLogger ¶ added in v0.9.2
type RootLogger interface { Logger // Close ensures any buffers are flushed and any resources released. // It is safe to call Close more than once (but consecutive calls do nothing). Close() }
func New ¶
func New(t NewLogger, opts ...PrinterOption) RootLogger
New creates a Logger that writes to os.Stdout, depending on the NewLogger type passed to it: - Auto - if terminal detected on stdout, then colors and anchored lines are supported (else, uses Basic) - Basic - no colors or anchored lines, no buffering - JSON - no colors or anchored lines, no buffering, and each line is a valid JSON object Resulting Logger can be modified by including 1 or more NewOpts after the NewLogger type. The caller is responsible for calling Close() when done with the returned Logger.
type TeeLogger ¶ added in v0.2.0
type TeeLogger struct { Primary Logger // Anchors are only supported though this logger Secondary Logger // contains filtered or unexported fields }
TeeLogger directs all traffic to both a primary and secondary logger Note that of if one of your loggers supports anchor, make sure that is the Primary anchor.
func NewRootTee ¶ added in v0.9.2
func NewRootTee(a RootLogger, b RootLogger) (*TeeLogger, func())
func (*TeeLogger) SetMinLevel ¶ added in v0.2.0
type TextPrinter ¶ added in v0.2.1
type TextPrinter struct {
// contains filtered or unexported fields
}
func (*TextPrinter) Render ¶ added in v0.2.1
func (p *TextPrinter) Render(level Level, opts []PrinterOption, msg string, fields []Field) string
func (*TextPrinter) SetOptions ¶ added in v0.8.0
func (p *TextPrinter) SetOptions(opts ...PrinterOption) Printer
type Unbuffered ¶ added in v0.2.0
type Unbuffered struct {
// contains filtered or unexported fields
}
func NewUnbuffered ¶ added in v0.2.0
func NewUnbuffered(writer io.Writer, prn Printer) *Unbuffered
func (*Unbuffered) Close ¶ added in v0.2.0
func (l *Unbuffered) Close()
func (*Unbuffered) Error ¶ added in v0.4.0
func (l *Unbuffered) Error(msg string, fielders ...Fielder) Logger
func (*Unbuffered) Info ¶ added in v0.4.0
func (l *Unbuffered) Info(msg string, fielders ...Fielder) Logger
func (*Unbuffered) Log ¶ added in v0.4.0
func (l *Unbuffered) Log(level Level, msg string, fielders ...Fielder) Logger
func (*Unbuffered) LogImpl ¶ added in v0.9.0
func (l *Unbuffered) LogImpl(level Level, msg string, fielders []Fielder, opts []PrinterOption, d ImplData)
func (*Unbuffered) MinLevel ¶ added in v0.9.2
func (l *Unbuffered) MinLevel() Level
func (*Unbuffered) SetMinLevel ¶ added in v0.2.0
func (l *Unbuffered) SetMinLevel(level Level) Logger
func (*Unbuffered) Transient ¶ added in v0.4.0
func (l *Unbuffered) Transient(msg string, fielders ...Fielder) Logger