mirror of
https://github.com/amitbet/vncproxy.git
synced 2025-04-28 19:13:21 +00:00
188 lines
3.9 KiB
Go
188 lines
3.9 KiB
Go
package logger
|
|
|
|
import "fmt"
|
|
|
|
var simpleLogger = SimpleLogger{LogLevelInfo}
|
|
|
|
func SetLogLevel(logLevel string) {
|
|
level := GetLogLevel(logLevel)
|
|
fmt.Println("Log level set to: ", logLevel)
|
|
simpleLogger = SimpleLogger{level}
|
|
}
|
|
|
|
func GetLogLevel(logLevel string) LogLevel {
|
|
switch logLevel {
|
|
case "trace":
|
|
return LogLevelTrace
|
|
case "debug":
|
|
return LogLevelDebug
|
|
case "info":
|
|
return LogLevelInfo
|
|
case "warn":
|
|
return LogLevelWarn
|
|
case "error":
|
|
return LogLevelError
|
|
case "fatal":
|
|
return LogLevelFatal
|
|
}
|
|
return LogLevelInfo
|
|
}
|
|
|
|
type Logger interface {
|
|
Debug(v ...interface{})
|
|
Debugf(format string, v ...interface{})
|
|
Info(v ...interface{})
|
|
Infof(format string, v ...interface{})
|
|
Warn(v ...interface{})
|
|
Warnf(format string, v ...interface{})
|
|
Error(v ...interface{})
|
|
Errorf(format string, v ...interface{})
|
|
Fatal(v ...interface{})
|
|
Fatalf(format string, v ...interface{})
|
|
}
|
|
type LogLevel int
|
|
|
|
const (
|
|
LogLevelTrace LogLevel = iota
|
|
LogLevelDebug
|
|
LogLevelInfo
|
|
LogLevelWarn
|
|
LogLevelError
|
|
LogLevelFatal
|
|
)
|
|
|
|
type SimpleLogger struct {
|
|
level LogLevel
|
|
}
|
|
|
|
func (sl *SimpleLogger) Trace(v ...interface{}) {
|
|
if sl.level <= LogLevelTrace {
|
|
arr := []interface{}{"[Trace]"}
|
|
for _, item := range v {
|
|
arr = append(arr, item)
|
|
}
|
|
|
|
fmt.Println(arr...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Tracef(format string, v ...interface{}) {
|
|
if sl.level <= LogLevelTrace {
|
|
fmt.Printf("[Trace] "+format+"\n", v...)
|
|
}
|
|
}
|
|
|
|
func (sl *SimpleLogger) Debug(v ...interface{}) {
|
|
if sl.level <= LogLevelDebug {
|
|
arr := []interface{}{"[Debug]"}
|
|
for _, item := range v {
|
|
arr = append(arr, item)
|
|
}
|
|
|
|
fmt.Println(arr...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Debugf(format string, v ...interface{}) {
|
|
if sl.level <= LogLevelDebug {
|
|
fmt.Printf("[Debug] "+format+"\n", v...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Info(v ...interface{}) {
|
|
if sl.level <= LogLevelInfo {
|
|
arr := []interface{}{"[Info ]"}
|
|
for _, item := range v {
|
|
arr = append(arr, item)
|
|
}
|
|
fmt.Println(arr...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Infof(format string, v ...interface{}) {
|
|
if sl.level <= LogLevelInfo {
|
|
fmt.Printf("[Info ] "+format+"\n", v...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Warn(v ...interface{}) {
|
|
if sl.level <= LogLevelWarn {
|
|
arr := []interface{}{"[Warn ]"}
|
|
for _, item := range v {
|
|
arr = append(arr, item)
|
|
}
|
|
fmt.Println(arr...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Warnf(format string, v ...interface{}) {
|
|
if sl.level <= LogLevelWarn {
|
|
fmt.Printf("[Warn ] "+format+"\n", v...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Error(v ...interface{}) {
|
|
if sl.level <= LogLevelError {
|
|
arr := []interface{}{"[Error]"}
|
|
for _, item := range v {
|
|
arr = append(arr, item)
|
|
}
|
|
fmt.Println(arr...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Errorf(format string, v ...interface{}) {
|
|
if sl.level <= LogLevelError {
|
|
fmt.Printf("[Error] "+format+"\n", v...)
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Fatal(v ...interface{}) {
|
|
if sl.level <= LogLevelFatal {
|
|
arr := []interface{}{"[Fatal]"}
|
|
for _, item := range v {
|
|
arr = append(arr, item)
|
|
}
|
|
fmt.Println(arr...)
|
|
|
|
}
|
|
}
|
|
func (sl *SimpleLogger) Fatalf(format string, v ...interface{}) {
|
|
if sl.level <= LogLevelFatal {
|
|
fmt.Printf("[Fatal] "+format+"\n", v)
|
|
}
|
|
}
|
|
|
|
func Debug(v ...interface{}) {
|
|
simpleLogger.Debug(v...)
|
|
}
|
|
func Debugf(format string, v ...interface{}) {
|
|
simpleLogger.Debugf(format, v...)
|
|
}
|
|
|
|
func Trace(v ...interface{}) {
|
|
simpleLogger.Trace(v...)
|
|
}
|
|
func Tracef(format string, v ...interface{}) {
|
|
simpleLogger.Tracef(format, v...)
|
|
}
|
|
|
|
func Info(v ...interface{}) {
|
|
simpleLogger.Info(v...)
|
|
}
|
|
func Infof(format string, v ...interface{}) {
|
|
simpleLogger.Infof(format, v...)
|
|
}
|
|
|
|
func Warn(v ...interface{}) {
|
|
simpleLogger.Warn(v...)
|
|
}
|
|
func Warnf(format string, v ...interface{}) {
|
|
simpleLogger.Warnf(format, v...)
|
|
}
|
|
|
|
func Error(v ...interface{}) {
|
|
simpleLogger.Error(v...)
|
|
}
|
|
func Errorf(format string, v ...interface{}) {
|
|
simpleLogger.Errorf(format, v...)
|
|
}
|
|
|
|
func Fatal(v ...interface{}) {
|
|
simpleLogger.Fatal(v...)
|
|
}
|
|
func Fatalf(format string, v ...interface{}) {
|
|
simpleLogger.Fatalf(format, v...)
|
|
}
|