package logger import ( "log" ) type LogLevel int const ( LevelNone LogLevel = 0 LevelError LogLevel = 1 LevelWarn LogLevel = 2 LevelInfo LogLevel = 3 LevelVerbose LogLevel = 4 LevelDebug LogLevel = 5 ) type Logger struct { Level LogLevel } func (l *Logger) Printf(str string, args ...interface{}) { log.Printf(str, args...) } func (l *Logger) Fatal(str string, args ...interface{}) { log.Fatalf(str, args...) } func (l *Logger) Error(str string, args ...interface {}) { if l.Level >= LevelError { l.Printf(str, args...) } } func (l *Logger) Warn(str string, args ...interface {}) { if l.Level >= LevelWarn { l.Printf(str, args...) } } func (l *Logger) Info(str string, args ...interface {}) { if l.Level >= LevelInfo { l.Printf(str, args...) } } func (l *Logger) Verbose(str string, args ...interface {}) { if l.Level >= LevelVerbose { l.Printf(str, args...) } } func (l *Logger) Debug(str string, args ...interface {}) { if l.Level >= LevelDebug { l.Printf(str, args...) } } func CreateLogger(level LogLevel) *Logger { var l = Logger{ Level: level, } return &l }