本文整理汇总了Golang中loggregator/groupedsinks.GroupedSinks.DumpFor方法的典型用法代码示例。如果您正苦于以下问题:Golang GroupedSinks.DumpFor方法的具体用法?Golang GroupedSinks.DumpFor怎么用?Golang GroupedSinks.DumpFor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类loggregator/groupedsinks.GroupedSinks
的用法示例。
在下文中一共展示了GroupedSinks.DumpFor方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: dumpToSink
func (messageRouter *messageRouter) dumpToSink(sink sinks.Sink, activeSinks *groupedsinks.GroupedSinks) {
dumpChan := make(chan *logmessage.Message, 20)
if sink := activeSinks.DumpFor(sink.AppId()); sink != nil {
sink.Dump(dumpChan)
} else {
close(dumpChan)
}
for message := range dumpChan {
sink.Channel() <- message
}
}
示例2: manageDumps
func (messageRouter *messageRouter) manageDumps(activeSinks *groupedsinks.GroupedSinks, appId string) {
if activeSinks.DumpFor(appId) == nil {
s := sinks.NewDumpSink(appId, messageRouter.dumpBufferSize, messageRouter.logger)
ok := messageRouter.registerSink(s, activeSinks)
if ok {
go s.Run()
}
}
}
示例3:
})
})
Describe("DumpFor", func() {
It("should return only dumps", func() {
target := "789"
sink1 := syslog.NewSyslogSink(target, "url1", loggertesthelper.Logger(), DummySyslogWriter{}, errorChan)
sink2 := syslog.NewSyslogSink(target, "url2", loggertesthelper.Logger(), DummySyslogWriter{}, errorChan)
sink3 := dump.NewDumpSink(target, 5, loggertesthelper.Logger(), time.Second, fakeTimeProvider)
groupedSinks.Register(inputChan, sink1)
groupedSinks.Register(inputChan, sink2)
groupedSinks.Register(inputChan, sink3)
Expect(groupedSinks.DumpFor(target)).To(Equal(sink3))
})
It("should return only dumps that match the appId", func() {
target := "789"
otherTarget := "790"
sink1 := dump.NewDumpSink(target, 5, loggertesthelper.Logger(), time.Second, fakeTimeProvider)
sink2 := dump.NewDumpSink(otherTarget, 5, loggertesthelper.Logger(), time.Second, fakeTimeProvider)
groupedSinks.Register(inputChan, sink1)
groupedSinks.Register(inputChan, sink2)
Expect(groupedSinks.DumpFor(target)).To(Equal(sink1))
})