1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
// Package info allows users to create a Logger interface from any
// object that supports Info and Infof.
package info
// Info is an interface for Info and Infof.
type Info interface {
Info(v ...interface{})
Infof(format string, v ...interface{})
}
type logger struct {
info Info
}
func (logger *logger) Log(v ...interface{}) {
logger.info.Info(v...)
}
func (logger *logger) Logf(format string, v ...interface{}) {
logger.info.Infof(format, v...)
}
// New creates a new logger wrapping info.
func New(info Info) *logger {
return &logger{
info: info,
}
}
|