github.com/influxdata/influxdb/v2@v2.7.6/telemetry/store.go (about)

     1  package telemetry
     2  
     3  import (
     4  	"context"
     5  
     6  	"go.uber.org/zap"
     7  )
     8  
     9  // Store records usage data.
    10  type Store interface {
    11  	// WriteMessage stores data into the store.
    12  	WriteMessage(ctx context.Context, data []byte) error
    13  }
    14  
    15  var _ Store = (*LogStore)(nil)
    16  
    17  // LogStore logs data written to the store.
    18  type LogStore struct {
    19  	log *zap.Logger
    20  }
    21  
    22  func NewLogStore(log *zap.Logger) *LogStore {
    23  	return &LogStore{
    24  		log: log,
    25  	}
    26  }
    27  
    28  // WriteMessage logs data at Info level.
    29  func (s *LogStore) WriteMessage(ctx context.Context, data []byte) error {
    30  	s.log.Info("Write", zap.String("data", string(data)))
    31  	return nil
    32  }