1package gocql
2
3import (
4	"bytes"
5	"fmt"
6	"log"
7)
8
9type StdLogger interface {
10	Print(v ...interface{})
11	Printf(format string, v ...interface{})
12	Println(v ...interface{})
13}
14
15type testLogger struct {
16	capture bytes.Buffer
17}
18
19func (l *testLogger) Print(v ...interface{})                 { fmt.Fprint(&l.capture, v...) }
20func (l *testLogger) Printf(format string, v ...interface{}) { fmt.Fprintf(&l.capture, format, v...) }
21func (l *testLogger) Println(v ...interface{})               { fmt.Fprintln(&l.capture, v...) }
22func (l *testLogger) String() string                         { return l.capture.String() }
23
24type defaultLogger struct{}
25
26func (l *defaultLogger) Print(v ...interface{})                 { log.Print(v...) }
27func (l *defaultLogger) Printf(format string, v ...interface{}) { log.Printf(format, v...) }
28func (l *defaultLogger) Println(v ...interface{})               { log.Println(v...) }
29
30var Logger StdLogger = &defaultLogger{}
31