当前位置: 首页>>代码示例>>Golang>>正文


Golang events.NewLogger函数代码示例

本文整理汇总了Golang中github.com/syncthing/syncthing/internal/events.NewLogger函数的典型用法代码示例。如果您正苦于以下问题:Golang NewLogger函数的具体用法?Golang NewLogger怎么用?Golang NewLogger使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了NewLogger函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: TestSubscriber

func TestSubscriber(t *testing.T) {
	l := events.NewLogger()
	s := l.Subscribe(0)
	if s == nil {
		t.Fatal("Unexpected nil Subscription")
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:7,代码来源:events_test.go

示例2: TestBufferedSub

func TestBufferedSub(t *testing.T) {
	l := events.NewLogger()

	s := l.Subscribe(events.AllEvents)
	bs := events.NewBufferedSubscription(s, 10*events.BufferSize)

	go func() {
		for i := 0; i < 10*events.BufferSize; i++ {
			l.Log(events.DeviceConnected, fmt.Sprintf("event-%d", i))
			if i%30 == 0 {
				// Give the buffer routine time to pick up the events
				time.Sleep(20 * time.Millisecond)
			}
		}
	}()

	recv := 0
	for recv < 10*events.BufferSize {
		evs := bs.Since(recv, nil)
		for _, ev := range evs {
			if ev.ID != recv+1 {
				t.Fatalf("Incorrect ID; %d != %d", ev.ID, recv+1)
			}
			recv = ev.ID
		}
	}

}
开发者ID:kattunga,项目名称:syncthing,代码行数:28,代码来源:events_test.go

示例3: TestIDs

func TestIDs(t *testing.T) {
	l := events.NewLogger()

	s := l.Subscribe(events.AllEvents)
	l.Log(events.DeviceConnected, "foo")
	l.Log(events.DeviceConnected, "bar")

	ev, err := s.Poll(timeout)
	if err != nil {
		t.Fatal("Unexpected error:", err)
	}
	if ev.Data.(string) != "foo" {
		t.Fatal("Incorrect event:", ev)
	}
	id := ev.ID

	ev, err = s.Poll(timeout)
	if err != nil {
		t.Fatal("Unexpected error:", err)
	}
	if ev.Data.(string) != "bar" {
		t.Fatal("Incorrect event:", ev)
	}
	if !(ev.ID > id) {
		t.Fatalf("ID not incremented (%d !> %d)", ev.ID, id)
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:27,代码来源:events_test.go

示例4: TestTimeout

func TestTimeout(t *testing.T) {
	l := events.NewLogger()
	s := l.Subscribe(0)
	_, err := s.Poll(timeout)
	if err != events.ErrTimeout {
		t.Fatal("Unexpected non-Timeout error:", err)
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:8,代码来源:events_test.go

示例5: TestEventAfterSubscribeIgnoreMask

func TestEventAfterSubscribeIgnoreMask(t *testing.T) {
	l := events.NewLogger()

	s := l.Subscribe(events.DeviceDisconnected)
	l.Log(events.DeviceConnected, "foo")

	_, err := s.Poll(timeout)
	if err != events.ErrTimeout {
		t.Fatal("Unexpected non-Timeout error:", err)
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:11,代码来源:events_test.go

示例6: TestEventBeforeSubscribe

func TestEventBeforeSubscribe(t *testing.T) {
	l := events.NewLogger()

	l.Log(events.DeviceConnected, "foo")
	s := l.Subscribe(0)

	_, err := s.Poll(timeout)
	if err != events.ErrTimeout {
		t.Fatal("Unexpected non-Timeout error:", err)
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:11,代码来源:events_test.go

示例7: TestBufferOverflow

func TestBufferOverflow(t *testing.T) {
	l := events.NewLogger()

	_ = l.Subscribe(events.AllEvents)

	t0 := time.Now()
	for i := 0; i < events.BufferSize*2; i++ {
		l.Log(events.DeviceConnected, "foo")
	}
	if time.Since(t0) > timeout {
		t.Fatalf("Logging took too long")
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:13,代码来源:events_test.go

示例8: TestUnsubscribe

func TestUnsubscribe(t *testing.T) {
	l := events.NewLogger()

	s := l.Subscribe(events.AllEvents)
	l.Log(events.DeviceConnected, "foo")

	_, err := s.Poll(timeout)
	if err != nil {
		t.Fatal("Unexpected error:", err)
	}

	l.Unsubscribe(s)
	l.Log(events.DeviceConnected, "foo")

	_, err = s.Poll(timeout)
	if err != events.ErrClosed {
		t.Fatal("Unexpected non-Closed error:", err)
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:19,代码来源:events_test.go

示例9: TestEventAfterSubscribe

func TestEventAfterSubscribe(t *testing.T) {
	l := events.NewLogger()

	s := l.Subscribe(events.AllEvents)
	l.Log(events.DeviceConnected, "foo")

	ev, err := s.Poll(timeout)

	if err != nil {
		t.Fatal("Unexpected error:", err)
	}
	if ev.Type != events.DeviceConnected {
		t.Error("Incorrect event type", ev.Type)
	}
	switch v := ev.Data.(type) {
	case string:
		if v != "foo" {
			t.Error("Incorrect Data string", v)
		}
	default:
		t.Errorf("Incorrect Data type %#v", v)
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:23,代码来源:events_test.go

示例10: TestNewLogger

func TestNewLogger(t *testing.T) {
	l := events.NewLogger()
	if l == nil {
		t.Fatal("Unexpected nil Logger")
	}
}
开发者ID:kattunga,项目名称:syncthing,代码行数:6,代码来源:events_test.go


注:本文中的github.com/syncthing/syncthing/internal/events.NewLogger函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。