mirror of
https://github.com/Harry-zklcdc/go-proxy-bingai.git
synced 2024-05-03 14:25:13 +08:00
68 lines
1.1 KiB
Go
68 lines
1.1 KiB
Go
package common
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
const (
|
|
DEBUG = "DEBUG"
|
|
INFO = "INFO"
|
|
WARN = "WARN"
|
|
ERROR = "ERROR"
|
|
)
|
|
|
|
var LevelArry = [4]string{DEBUG, INFO, WARN, ERROR}
|
|
|
|
var levelMap = map[string]int{
|
|
DEBUG: 0,
|
|
INFO: 1,
|
|
WARN: 2,
|
|
ERROR: 3,
|
|
}
|
|
|
|
type logger struct {
|
|
Level string
|
|
}
|
|
|
|
var Logger *logger
|
|
|
|
func NewLogger(level string) *logger {
|
|
return &logger{Level: level}
|
|
}
|
|
|
|
func (l *logger) Clone() *logger {
|
|
return &logger{Level: l.Level}
|
|
}
|
|
|
|
func (l *logger) Fatal(v ...interface{}) {
|
|
l.Info("%v", v...)
|
|
os.Exit(1)
|
|
}
|
|
|
|
func (l *logger) Print(level, format string, v ...interface{}) {
|
|
if levelMap[level] >= levelMap[l.Level] {
|
|
log.Printf("- "+level+" - "+format, v...)
|
|
}
|
|
}
|
|
|
|
func (l *logger) Println(level string, v ...interface{}) {
|
|
l.Print(level, "%v", v...)
|
|
}
|
|
|
|
func (l *logger) Debug(format string, v ...interface{}) {
|
|
l.Print(DEBUG, format, v...)
|
|
}
|
|
|
|
func (l *logger) Info(format string, v ...interface{}) {
|
|
l.Print(INFO, format, v...)
|
|
}
|
|
|
|
func (l *logger) Warn(format string, v ...interface{}) {
|
|
l.Print(WARN, format, v...)
|
|
}
|
|
|
|
func (l *logger) Error(format string, v ...interface{}) {
|
|
l.Print(ERROR, format, v...)
|
|
}
|