nop_sink.go 560 B

1234567891011121314151617181920212223242526272829303132333435
  1. package sinks
  2. import (
  3. "github.com/emqx/kuiper/xstream/api"
  4. )
  5. type NopSink struct {
  6. log bool
  7. }
  8. func (ns *NopSink) Configure(ps map[string]interface{}) error {
  9. var log = false
  10. l, ok := ps["log"]
  11. if ok {
  12. log = l.(bool)
  13. }
  14. ns.log = log
  15. return nil
  16. }
  17. func (ns *NopSink) Open(ctx api.StreamContext) error {
  18. return nil
  19. }
  20. func (ns *NopSink) Collect(ctx api.StreamContext, item interface{}) error {
  21. logger := ctx.GetLogger()
  22. if ns.log {
  23. logger.Infof("%s", item)
  24. }
  25. return nil
  26. }
  27. func (ns *NopSink) Close(ctx api.StreamContext) error {
  28. return nil
  29. }