influxdb/zap/proxy_query_service.go

35 lines
771 B
Go

package zap
import (
"context"
"io"
"github.com/influxdata/platform/query"
"go.uber.org/zap"
)
// ProxyQueryService logs the request but does not write to the writer.
type ProxyQueryService struct {
Logger *zap.Logger
}
// NewProxyQueryService creates a new proxy query service with a logger.
// If the logger is nil, then it will use a noop logger.
func NewProxyQueryService(l *zap.Logger) *ProxyQueryService {
if l == nil {
l = zap.NewNop()
}
return &ProxyQueryService{
Logger: l,
}
}
// Query logs the query request.
func (s *ProxyQueryService) Query(ctx context.Context, w io.Writer, req *query.ProxyRequest) (int64, error) {
if req != nil {
s.Logger.Info("query", zap.Any("request", req))
}
n, err := w.Write([]byte{})
return int64(n), err
}