-
Notifications
You must be signed in to change notification settings - Fork 31
/
errors.go
67 lines (56 loc) · 1.54 KB
/
errors.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package webgo
import (
"errors"
"log"
"os"
)
var (
// ErrInvalidPort is the error returned when the port number provided in the config file is invalid
ErrInvalidPort = errors.New("Port number not provided or is invalid (should be between 0 - 65535)")
)
// Service defines all the logging methods to be implemented
type Logger interface {
Debug(data ...interface{})
Info(data ...interface{})
Warn(data ...interface{})
Error(data ...interface{})
Fatal(data ...interface{})
}
// logHandler has all the log writer handlers
type logHandler struct {
debug *log.Logger
info *log.Logger
warn *log.Logger
err *log.Logger
fatal *log.Logger
}
// Debug prints log of severity 5
func (lh *logHandler) Debug(data ...interface{}) {
lh.debug.Println(data...)
}
// Info prints logs of severity 4
func (lh *logHandler) Info(data ...interface{}) {
lh.info.Println(data...)
}
// Warn prints log of severity 3
func (lh *logHandler) Warn(data ...interface{}) {
lh.warn.Println(data...)
}
// Error prints log of severity 2
func (lh *logHandler) Error(data ...interface{}) {
lh.err.Println(data...)
}
// Fatal prints log of severity 1
func (lh *logHandler) Fatal(data ...interface{}) {
lh.fatal.Fatalln(data...)
}
var LOGHANDLER Logger
func init() {
LOGHANDLER = &logHandler{
fatal: log.New(os.Stderr, "Fatal ", log.LstdFlags|log.Llongfile),
err: log.New(os.Stderr, "Error ", log.LstdFlags),
warn: log.New(os.Stderr, "Warning ", log.LstdFlags),
info: log.New(os.Stdout, "Info ", log.LstdFlags),
debug: log.New(os.Stdout, "Debug ", log.LstdFlags),
}
}