package log import ( "reflect" "testing" ) func TestLogger(t *testing.T) { // set size to some value size := 100 // override the global logger DefaultLog = NewLog(Size(size)) // make sure we have the right size of the logger ring buffer if DefaultLog.(*defaultLog).Size() != size { t.Errorf("expected buffer size: %d, got: %d", size, DefaultLog.(*defaultLog).Size()) } // Log some cruft Info("foobar") // increase the log level DefaultLevel = LevelDebug Debugf("foo %s", "bar") // Check if the logs are stored in the logger ring buffer expected := []string{"foobar", "foo bar"} entries := DefaultLog.Read(Count(len(expected))) for i, entry := range entries { if !reflect.DeepEqual(entry.Value, expected[i]) { t.Errorf("expected %s, got %s", expected[i], entry.Value) } } }