package badger
import (
"log"
"os"
)
type Logger interface {
Errorf (string , ...interface {})
Warningf (string , ...interface {})
Infof (string , ...interface {})
Debugf (string , ...interface {})
}
func (opt *Options ) Errorf (format string , v ...interface {}) {
if opt .Logger == nil {
return
}
opt .Logger .Errorf (format , v ...)
}
func (opt *Options ) Infof (format string , v ...interface {}) {
if opt .Logger == nil {
return
}
opt .Logger .Infof (format , v ...)
}
func (opt *Options ) Warningf (format string , v ...interface {}) {
if opt .Logger == nil {
return
}
opt .Logger .Warningf (format , v ...)
}
func (opt *Options ) Debugf (format string , v ...interface {}) {
if opt .Logger == nil {
return
}
opt .Logger .Debugf (format , v ...)
}
type loggingLevel int
const (
DEBUG loggingLevel = iota
INFO
WARNING
ERROR
)
type defaultLog struct {
*log .Logger
level loggingLevel
}
func defaultLogger(level loggingLevel ) *defaultLog {
return &defaultLog {Logger : log .New (os .Stderr , "badger " , log .LstdFlags ), level : level }
}
func (l *defaultLog ) Errorf (f string , v ...interface {}) {
if l .level <= ERROR {
l .Printf ("ERROR: " +f , v ...)
}
}
func (l *defaultLog ) Warningf (f string , v ...interface {}) {
if l .level <= WARNING {
l .Printf ("WARNING: " +f , v ...)
}
}
func (l *defaultLog ) Infof (f string , v ...interface {}) {
if l .level <= INFO {
l .Printf ("INFO: " +f , v ...)
}
}
func (l *defaultLog ) Debugf (f string , v ...interface {}) {
if l .level <= DEBUG {
l .Printf ("DEBUG: " +f , v ...)
}
}
The pages are generated with Golds v0.8.4 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .