mirror of
https://github.com/ncarlier/webhookd.git
synced 2025-04-07 19:29:19 +00:00
50 lines
1015 B
Go
50 lines
1015 B
Go
package logger
|
|
|
|
import (
|
|
"io"
|
|
"io/ioutil"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
var (
|
|
// Debug level
|
|
Debug *log.Logger
|
|
// Info level
|
|
Info *log.Logger
|
|
// Warning level
|
|
Warning *log.Logger
|
|
// Error level
|
|
Error *log.Logger
|
|
)
|
|
|
|
// Init logger level
|
|
func Init(level string) {
|
|
var debugHandle, infoHandle, warnHandle, errorHandle io.Writer
|
|
debugHandle = os.Stdout
|
|
infoHandle = os.Stdout
|
|
warnHandle = os.Stderr
|
|
errorHandle = os.Stderr
|
|
switch level {
|
|
case "info":
|
|
debugHandle = ioutil.Discard
|
|
case "warn":
|
|
debugHandle = ioutil.Discard
|
|
infoHandle = ioutil.Discard
|
|
case "error":
|
|
debugHandle = ioutil.Discard
|
|
infoHandle = ioutil.Discard
|
|
warnHandle = ioutil.Discard
|
|
}
|
|
|
|
commonFlags := log.LstdFlags | log.Lmicroseconds
|
|
if level == "debug" {
|
|
commonFlags = log.LstdFlags | log.Lmicroseconds | log.Lshortfile
|
|
}
|
|
|
|
Debug = log.New(debugHandle, "DBG ", commonFlags)
|
|
Info = log.New(infoHandle, "INF ", commonFlags)
|
|
Warning = log.New(warnHandle, "WRN ", commonFlags)
|
|
Error = log.New(errorHandle, "ERR ", commonFlags)
|
|
}
|