Documentation
¶
Index ¶
- Variables
- func RemoveFixedLine(log Logger)
- type Buffered
- func (l *Buffered) AddFixedLine() Logger
- func (l *Buffered) Close()
- func (l *Buffered) Errorf(format string, a ...interface{}) Logger
- func (l *Buffered) Fatalf(format string, a ...interface{})
- func (l *Buffered) Infof(format string, a ...interface{}) Logger
- func (l *Buffered) Logf(level Level, format string, a ...interface{}) Logger
- func (l *Buffered) SetMinLevel(level Level) Logger
- func (l *Buffered) Transientf(format string, a ...interface{}) Logger
- func (l *Buffered) Verbosef(format string, a ...interface{}) Logger
- func (l *Buffered) Warningf(format string, a ...interface{}) Logger
- type ChildLogger
- type Config
- type FixedLine
- func (l *FixedLine) Close()
- func (l *FixedLine) Errorf(format string, a ...interface{}) Logger
- func (l *FixedLine) Fatalf(format string, a ...interface{})
- func (l *FixedLine) Infof(format string, a ...interface{}) Logger
- func (l *FixedLine) Logf(level Level, format string, a ...interface{}) Logger
- func (l *FixedLine) Parent() Logger
- func (l *FixedLine) RemoveFixedLine()
- func (l *FixedLine) SetMinLevel(level Level) Logger
- func (l *FixedLine) Transientf(format string, a ...interface{}) Logger
- func (l *FixedLine) Verbosef(format string, a ...interface{}) Logger
- func (l *FixedLine) Warningf(format string, a ...interface{}) Logger
- type FixedLineAdder
- type FixedLineRemover
- type JSONPrinter
- type Level
- type Logger
- type Msg
- type MsgType
- type NewLogger
- type Printer
- type TeeLogger
- func (l *TeeLogger) AddFixedLine() Logger
- func (l *TeeLogger) Close()
- func (l *TeeLogger) Errorf(format string, a ...interface{}) Logger
- func (l *TeeLogger) Fatalf(format string, a ...interface{})
- func (l *TeeLogger) Infof(format string, a ...interface{}) Logger
- func (l *TeeLogger) Logf(level Level, format string, a ...interface{}) Logger
- func (l *TeeLogger) RemoveFixedLine()
- func (l *TeeLogger) SetMinLevel(level Level) Logger
- func (l *TeeLogger) Transientf(format string, a ...interface{}) Logger
- func (l *TeeLogger) Verbosef(format string, a ...interface{}) Logger
- func (l *TeeLogger) Warningf(format string, a ...interface{}) Logger
- type TextPrinter
- type Unbuffered
- func (l *Unbuffered) Close()
- func (l *Unbuffered) Errorf(format string, a ...interface{}) Logger
- func (l *Unbuffered) Fatalf(format string, a ...interface{})
- func (l *Unbuffered) Infof(format string, a ...interface{}) Logger
- func (l *Unbuffered) Logf(level Level, format string, a ...interface{}) Logger
- func (l *Unbuffered) SetMinLevel(level Level) Logger
- func (l *Unbuffered) Transientf(format string, a ...interface{}) Logger
- func (l *Unbuffered) Verbosef(format string, a ...interface{}) Logger
- func (l *Unbuffered) Warningf(format string, a ...interface{}) Logger
Constants ¶
This section is empty.
Variables ¶
var IsNoColorSet = false
Functions ¶
func RemoveFixedLine ¶ added in v0.3.0
func RemoveFixedLine(log Logger)
Types ¶
type Buffered ¶
type Buffered struct {
// contains filtered or unexported fields
}
func NewBuffered ¶
func (*Buffered) AddFixedLine ¶
AddFixedLine creates a Logger that, when connected to a terminal, draws over itself. 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 ¶
func (*Buffered) Transientf ¶ added in v0.2.0
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 FixedLine ¶
type FixedLine struct {
// contains filtered or unexported fields
}
FixedLine is a Logger that attempts to overwrite the same line in the terminal, allowing progress bars and other simple UI for the human to consume.
If the Printer's CanUseAnsi is false, then it simply redirects to the normal behavior of the parent Buffered Logger.
If the Printer's CanUseAnsi is true, then the Transient level is always printed, regardless of the MinLevel. This allows progress bars that do not pollute logs with garbage when not connected to a terminal.
func (*FixedLine) RemoveFixedLine ¶ added in v0.3.0
func (l *FixedLine) RemoveFixedLine()
func (*FixedLine) SetMinLevel ¶
func (*FixedLine) Transientf ¶ added in v0.2.0
type FixedLineAdder ¶ added in v0.3.0
type FixedLineAdder interface {
AddFixedLine() Logger
}
FixedLineAdder is the interface for loggers that support fixing a line in place, for progress bars or other transient status messages.
type FixedLineRemover ¶ added in v0.3.0
type FixedLineRemover interface {
RemoveFixedLine()
}
FixedLineRemover is the interface that a fixed line logger must implement in order for the fixed line to be removed before app end.
type JSONPrinter ¶ added in v0.2.1
type Logger ¶
type Logger interface {
// 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()
// SetMinLevel sets the lowest Level that will be logged.
SetMinLevel(level Level) Logger
// Logf is how log lines are added.
Logf(level Level, format string, a ...interface{}) Logger
// Transientf et al are just shortcuts for calling Logf with specific levels
// Note that Fatalf doesn't return itself like the others do because it isn't expected to return at all.
Transientf(format string, a ...interface{}) Logger
Verbosef(format string, a ...interface{}) Logger
Infof(format string, a ...interface{}) Logger
Warningf(format string, a ...interface{}) Logger
Errorf(format string, a ...interface{}) Logger
Fatalf(format string, a ...interface{})
}
func AddFixedLine ¶ added in v0.2.0
AddFixedLine adds a new logger on a fixed line, if supported. Else, returns passed in Logger.
func New ¶
New creates a Buffered logger that writes to os.Stdout, and autodetects any attached Terminal on stdout to decide if ANSI should be used. The caller is responsible for calling Close() before the process ends.
func ParentOrSelf ¶ added in v0.2.0
type TeeLogger ¶ added in v0.2.0
TeeLogger directs all traffic to both a primary and secondary logger
func (*TeeLogger) AddFixedLine ¶ added in v0.2.0
func (*TeeLogger) RemoveFixedLine ¶ added in v0.3.0
func (l *TeeLogger) RemoveFixedLine()
func (*TeeLogger) SetMinLevel ¶ added in v0.2.0
func (*TeeLogger) Transientf ¶ added in v0.2.0
type TextPrinter ¶ added in v0.2.1
type Unbuffered ¶ added in v0.2.0
type Unbuffered struct {
// contains filtered or unexported fields
}
func NewUnbuffered ¶ added in v0.2.0
func NewUnbuffered(w io.Writer, prn Printer) *Unbuffered
func (*Unbuffered) Close ¶ added in v0.2.0
func (l *Unbuffered) Close()
func (*Unbuffered) Errorf ¶ added in v0.2.0
func (l *Unbuffered) Errorf(format string, a ...interface{}) Logger
func (*Unbuffered) Fatalf ¶ added in v0.2.0
func (l *Unbuffered) Fatalf(format string, a ...interface{})
func (*Unbuffered) Infof ¶ added in v0.2.0
func (l *Unbuffered) Infof(format string, a ...interface{}) Logger
func (*Unbuffered) Logf ¶ added in v0.2.0
func (l *Unbuffered) Logf(level Level, format string, a ...interface{}) Logger
func (*Unbuffered) SetMinLevel ¶ added in v0.2.0
func (l *Unbuffered) SetMinLevel(level Level) Logger
func (*Unbuffered) Transientf ¶ added in v0.2.0
func (l *Unbuffered) Transientf(format string, a ...interface{}) Logger
func (*Unbuffered) Verbosef ¶ added in v0.2.0
func (l *Unbuffered) Verbosef(format string, a ...interface{}) Logger
func (*Unbuffered) Warningf ¶ added in v0.2.0
func (l *Unbuffered) Warningf(format string, a ...interface{}) Logger
