Move the filter on the level of the record from backends to the logger (in order to have consistent behaviour)

This commit is contained in:
Bruno Carlin 2013-06-24 17:35:43 +02:00
parent 01acb9686d
commit 316863735d
2 changed files with 6 additions and 8 deletions

View file

@ -26,12 +26,9 @@ func NewStdoutBackend() (b *StdoutBackend) {
} }
func (b StdoutBackend) Write(r *Record) error { func (b StdoutBackend) Write(r *Record) error {
if r.Level >= b.level { text := (*b.formatter)(r)
//check back for auto dereferencing _, err := io.WriteString(b.l, text)
text := (*b.formatter)(r) return err
b.l.Write([]byte(text))
}
return nil
} }
func (b *StdoutBackend) SetLevel(l Level) { func (b *StdoutBackend) SetLevel(l Level) {

View file

@ -31,8 +31,9 @@ func (l *Logger) SetLevel(level Level) {
func (l *Logger) Log(level Level, m string) { func (l *Logger) Log(level Level, m string) {
r := NewRecord(level, m) r := NewRecord(level, m)
for _, backend := range l.backends { for _, backend := range l.backends {
//Should be dereferenced automatically ? if r.Level >= backend.Level() {
backend.Write(r) backend.Write(r)
}
} }
} }