blob: 770f1c1bcedcbd88613364d47e482387d4b49066 (
plain) (
blame)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package log
import (
"fmt"
"io"
)
type Logger interface {
Log(format string, a ...interface{})
}
var (
_ Logger = &logger{}
_ Logger = &nopLogger{}
)
type logger struct {
w io.Writer
}
func NewLogger(w io.Writer) (*logger, error) {
if w == nil {
return nil, fmt.Errorf("w is nil; NewLogger() needs a writer")
}
return &logger{
w: w,
}, nil
}
func (l *logger) Log(format string, a ...interface{}) {
fmt.Fprintf(l.w, format+"\n", a...)
}
type nopLogger struct {
}
func NewNopLogger() *nopLogger {
return &nopLogger{}
}
func (l *nopLogger) Log(format string, a ...interface{}) {
}
|