forked from gernest/utron
/
logger.go
50 lines (41 loc) · 1.07 KB
/
logger.go
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
43
44
45
46
47
48
49
50
package utron
import (
"fmt"
"io"
"log"
"os"
)
var logThis = NewDefaultLogger(os.Stdout)
// Logger is an interface for utron logger
type Logger interface {
Info(v ...interface{})
Errors(fv ...interface{})
Warn(v ...interface{})
Success(v ...interface{})
}
// DefaultLogger is the default logger
type DefaultLogger struct {
*log.Logger
}
// NewDefaultLogger returns a default logger writing to out
func NewDefaultLogger(out io.Writer) Logger {
d := &DefaultLogger{}
d.Logger = log.New(out, "", log.LstdFlags)
return d
}
// Info logs info messages
func (d *DefaultLogger) Info(v ...interface{}) {
d.Println(fmt.Sprintf(">>INFO>> %s", fmt.Sprint(v...)))
}
// Errors log error messages
func (d *DefaultLogger) Errors(v ...interface{}) {
d.Println(fmt.Sprintf(">>ERR>> %s", fmt.Sprint(v...)))
}
// Warn logs warning messages
func (d *DefaultLogger) Warn(v ...interface{}) {
d.Println(fmt.Sprintf(">>WARN>> %s", fmt.Sprint(v...)))
}
// Success logs success messages
func (d *DefaultLogger) Success(v ...interface{}) {
d.Println(fmt.Sprintf(">>SUCC>> %s", fmt.Sprint(v...)))
}