1
0
Fork 0
mirror of https://github.com/Luzifer/s3sync.git synced 2024-10-18 06:24:20 +00:00
s3sync/logger/logger.go

47 lines
801 B
Go

package logger
import "fmt"
type LogLevel uint
const (
Error LogLevel = iota
Warning
Info
Debug
)
// Logger is a wrapper around output to filter according to levels
type Logger struct {
Level LogLevel
}
func New(logLevel LogLevel) *Logger {
return &Logger{
Level: logLevel,
}
}
func (l *Logger) Log(level LogLevel, line string) {
if l.Level >= level {
fmt.Println(line)
}
}
func (l *Logger) LogF(level LogLevel, line string, args ...interface{}) {
if l.Level >= level {
fmt.Printf(line, args...)
}
}
func (l *Logger) ErrorF(line string, args ...interface{}) {
l.LogF(Error, line, args...)
}
func (l *Logger) InfoF(line string, args ...interface{}) {
l.LogF(Info, line, args...)
}
func (l *Logger) DebugF(line string, args ...interface{}) {
l.LogF(Debug, line, args...)
}