mirror of
https://github.com/Luzifer/s3sync.git
synced 2024-10-18 06:24:20 +00:00
47 lines
801 B
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...)
|
|
}
|