From 172b596cf1df9dc200ad82baac7ca65577b36516 Mon Sep 17 00:00:00 2001 From: 9seconds Date: Thu, 18 Mar 2021 10:37:58 +0300 Subject: [PATCH] Intergrate custom logger where applicable --- logger/init.go | 5 +++++ mtglib/proxy.go | 6 +----- stats/statsd.go | 10 ++++------ stats/statsd_test.go | 4 +++- 4 files changed, 13 insertions(+), 12 deletions(-) create mode 100644 logger/init.go diff --git a/logger/init.go b/logger/init.go new file mode 100644 index 0000000..afcaf1d --- /dev/null +++ b/logger/init.go @@ -0,0 +1,5 @@ +package logger + +type StdLikeLogger interface { + Printf(format string, args ...interface{}) +} diff --git a/mtglib/proxy.go b/mtglib/proxy.go index f3b32bb..7ae99a8 100644 --- a/mtglib/proxy.go +++ b/mtglib/proxy.go @@ -87,10 +87,6 @@ func (p *Proxy) Shutdown() { p.workerPool.Release() } -type antsLogger struct{} - -func (a antsLogger) Printf(msg string, args ...interface{}) {} - func NewProxy(opts ProxyOpts) (*Proxy, error) { switch { case opts.Network == nil: @@ -126,7 +122,7 @@ func NewProxy(opts ProxyOpts) (*Proxy, error) { pool, err := ants.NewPoolWithFunc(int(concurrency), func(arg interface{}) { proxy.ServeConn(arg.(net.Conn)) - }, ants.WithLogger(antsLogger{})) + }, ants.WithLogger(opts.Logger.Named("ants"))) if err != nil { return nil, fmt.Errorf("cannot initialize a pool: %w", err) } diff --git a/stats/statsd.go b/stats/statsd.go index 69c8b37..f7c437c 100644 --- a/stats/statsd.go +++ b/stats/statsd.go @@ -6,14 +6,11 @@ import ( "time" "github.com/9seconds/mtg/v2/events" + "github.com/9seconds/mtg/v2/logger" "github.com/9seconds/mtg/v2/mtglib" statsd "github.com/smira/go-statsd" ) -type statsdFakeLogger struct{} - -func (s statsdFakeLogger) Printf(msg string, args ...interface{}) {} - type statsdProcessor struct { streams map[string]*streamInfo client *statsd.Client @@ -92,10 +89,11 @@ func (s StatsdFactory) Make() events.Observer { } } -func NewStatsd(address, metricPrefix, tagFormat string) (StatsdFactory, error) { +func NewStatsd(address string, log logger.StdLikeLogger, + metricPrefix, tagFormat string) (StatsdFactory, error) { options := []statsd.Option{ statsd.MetricPrefix(metricPrefix), - statsd.Logger(statsdFakeLogger{}), + statsd.Logger(log), } switch strings.ToLower(tagFormat) { diff --git a/stats/statsd_test.go b/stats/statsd_test.go index 0fad63a..af9491f 100644 --- a/stats/statsd_test.go +++ b/stats/statsd_test.go @@ -8,6 +8,7 @@ import ( "time" "github.com/9seconds/mtg/v2/events" + "github.com/9seconds/mtg/v2/logger" "github.com/9seconds/mtg/v2/mtglib" "github.com/9seconds/mtg/v2/stats" statsd "github.com/smira/go-statsd" @@ -80,7 +81,8 @@ type StatsdTestSuite struct { func (suite *StatsdTestSuite) SetupTest() { suite.statsdServer = statsdNewFakeServer() - factory, err := stats.NewStatsd(suite.statsdServer.Addr(), "mtg.", "datadog") + factory, err := stats.NewStatsd(suite.statsdServer.Addr(), + logger.NewNoopLogger(), "mtg.", "datadog") if err != nil { panic(err) }