31 lines
802 B
Go
31 lines
802 B
Go
|
package progress
|
||
|
|
||
|
// A Printer can can return a new counter or print messages
|
||
|
// at different log levels.
|
||
|
// It must be safe to call its methods from concurrent goroutines.
|
||
|
type Printer interface {
|
||
|
NewCounter(description string) *Counter
|
||
|
|
||
|
E(msg string, args ...interface{})
|
||
|
P(msg string, args ...interface{})
|
||
|
V(msg string, args ...interface{})
|
||
|
VV(msg string, args ...interface{})
|
||
|
}
|
||
|
|
||
|
// NoopPrinter discards all messages
|
||
|
type NoopPrinter struct{}
|
||
|
|
||
|
var _ Printer = (*NoopPrinter)(nil)
|
||
|
|
||
|
func (*NoopPrinter) NewCounter(description string) *Counter {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (*NoopPrinter) E(msg string, args ...interface{}) {}
|
||
|
|
||
|
func (*NoopPrinter) P(msg string, args ...interface{}) {}
|
||
|
|
||
|
func (*NoopPrinter) V(msg string, args ...interface{}) {}
|
||
|
|
||
|
func (*NoopPrinter) VV(msg string, args ...interface{}) {}
|