31 lines
		
	
	
		
			635 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			635 B
		
	
	
	
		
			Go
		
	
	
	
	
	
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()
 | 
						|
}
 |