aboutsummaryrefslogblamecommitdiffstats
path: root/vendor/github.com/allegro/bigcache/logger.go
blob: 50e84abc80069ce5e9560bc9ba1cb1b204d3d22e (plain) (tree)





























                                                               
package bigcache

import (
    "log"
    "os"
)

// Logger is invoked when `Config.Verbose=true`
type Logger interface {
    Printf(format string, v ...interface{})
}

// this is a safeguard, breaking on compile time in case
// `log.Logger` does not adhere to our `Logger` interface.
// see https://golang.org/doc/faq#guarantee_satisfies_interface
var _ Logger = &log.Logger{}

// DefaultLogger returns a `Logger` implementation
// backed by stdlib's log
func DefaultLogger() *log.Logger {
    return log.New(os.Stdout, "", log.LstdFlags)
}

func newLogger(custom Logger) Logger {
    if custom != nil {
        return custom
    }

    return DefaultLogger()
}