| // Copyright 2013, Örjan Persson. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package logging |
| |
| import "testing" |
| |
| func TestMultiLogger(t *testing.T) { |
| log1 := NewMemoryBackend(8) |
| log2 := NewMemoryBackend(8) |
| SetBackend(MultiLogger(log1, log2)) |
| |
| log := MustGetLogger("test") |
| log.Debug("log") |
| |
| if "log" != MemoryRecordN(log1, 0).Formatted(0) { |
| t.Errorf("log1: %v", MemoryRecordN(log1, 0).Formatted(0)) |
| } |
| if "log" != MemoryRecordN(log2, 0).Formatted(0) { |
| t.Errorf("log2: %v", MemoryRecordN(log2, 0).Formatted(0)) |
| } |
| } |
| |
| func TestMultiLoggerLevel(t *testing.T) { |
| log1 := NewMemoryBackend(8) |
| log2 := NewMemoryBackend(8) |
| |
| leveled1 := AddModuleLevel(log1) |
| leveled2 := AddModuleLevel(log2) |
| |
| multi := MultiLogger(leveled1, leveled2) |
| multi.SetLevel(ERROR, "test") |
| SetBackend(multi) |
| |
| log := MustGetLogger("test") |
| log.Notice("log") |
| |
| if nil != MemoryRecordN(log1, 0) || nil != MemoryRecordN(log2, 0) { |
| t.Errorf("unexpected log record") |
| } |
| |
| leveled1.SetLevel(DEBUG, "test") |
| log.Notice("log") |
| if "log" != MemoryRecordN(log1, 0).Formatted(0) { |
| t.Errorf("log1 not received") |
| } |
| if nil != MemoryRecordN(log2, 0) { |
| t.Errorf("log2 received") |
| } |
| } |