-
Notifications
You must be signed in to change notification settings - Fork 0
/
logger.go
53 lines (47 loc) · 1.34 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
51
52
53
/*
* Copyright © 2017 Joe Xu <joe.0x01@gmail.com>
* This work is free. You can redistribute it and/or modify it under the
* terms of the Do What The Fuck You Want To Public License, Version 2,
* as published by Sam Hocevar. See the COPYING file for more details.
*
*/
//Package logger provides logger in different level
package logger
import (
"io"
"log"
"os"
)
var (
//InfoPrefix info-logger prefix
InfoPrefix = "[INFO]"
//WarnPrefix warn-logger prefix
WarnPrefix = "[WARN]"
//ErrPrefix error-logger prefix
ErrPrefix = "[ERROR]"
//DebugPrefix debug-logger prefix
DebugPrefix = "[DEBUG]"
)
var (
//Info do info-level logging
Info *log.Logger
//Warn do warning-level logging
Warn *log.Logger
//Error do error-level logging
Error *log.Logger
//Debug do debug-level logging
Debug *log.Logger
)
func init() {
Info = log.New(os.Stdout, InfoPrefix, log.LstdFlags)
Warn = log.New(os.Stderr, WarnPrefix, log.LstdFlags)
Error = log.New(os.Stderr, ErrPrefix, log.LstdFlags)
Debug = log.New(os.Stdout, DebugPrefix, log.LstdFlags)
}
//Init func init loggers
func Init(infoHandle, warnHandle, errHandle, debugHandle io.Writer) {
Info = log.New(infoHandle, InfoPrefix, log.LstdFlags)
Warn = log.New(warnHandle, WarnPrefix, log.LstdFlags)
Error = log.New(errHandle, ErrPrefix, log.LstdFlags)
Debug = log.New(debugHandle, DebugPrefix, log.LstdFlags)
}