|
6 | 6 | "github.com/sirupsen/logrus"
|
7 | 7 |
|
8 | 8 | ld "gopkg.in/launchdarkly/go-server-sdk.v4"
|
| 9 | + "gopkg.in/launchdarkly/go-server-sdk.v4/ldlog" |
9 | 10 | )
|
10 | 11 |
|
11 | 12 | type Client interface {
|
@@ -37,7 +38,7 @@ func NewClient(cfg *Config, logger logrus.FieldLogger) (Client, error) {
|
37 | 38 | config.SendEvents = false
|
38 | 39 | }
|
39 | 40 |
|
40 |
| - config.Loggers.SetBaseLogger(wrapLogger(logger)) |
| 41 | + configureLogger(config.Loggers, logger) |
41 | 42 |
|
42 | 43 | if cfg.RelayHost != "" {
|
43 | 44 | config.BaseUri = cfg.RelayHost
|
@@ -97,23 +98,29 @@ func (c *ldClient) AllEnabledFlags(key string) []string {
|
97 | 98 | return flags
|
98 | 99 | }
|
99 | 100 |
|
100 |
| -func wrapLogger(logger logrus.FieldLogger) infoToDebugLogger { |
101 |
| - if logger == nil { |
| 101 | +func configureLogger(ldLogger ldlog.Loggers, log logrus.FieldLogger) { |
| 102 | + if log == nil { |
102 | 103 | l := logrus.New()
|
103 | 104 | l.SetOutput(ioutil.Discard)
|
104 |
| - logger = l |
| 105 | + log = l |
105 | 106 | }
|
| 107 | + log = log.WithField("component", "launch_darkly") |
106 | 108 |
|
107 |
| - return infoToDebugLogger{logger.WithField("component", "launch_darkly")} |
| 109 | + ldLogger.SetBaseLoggerForLevel(ldlog.Debug, &wrapLog{log.Debugln, log.Debugf}) |
| 110 | + ldLogger.SetBaseLoggerForLevel(ldlog.Info, &wrapLog{log.Infoln, log.Infof}) |
| 111 | + ldLogger.SetBaseLoggerForLevel(ldlog.Warn, &wrapLog{log.Warnln, log.Warnf}) |
| 112 | + ldLogger.SetBaseLoggerForLevel(ldlog.Error, &wrapLog{log.Errorln, log.Errorf}) |
108 | 113 | }
|
109 | 114 |
|
110 |
| -type infoToDebugLogger struct { |
111 |
| - log logrus.FieldLogger |
| 115 | +type wrapLog struct { |
| 116 | + println func(values ...interface{}) |
| 117 | + printf func(format string, values ...interface{}) |
112 | 118 | }
|
113 | 119 |
|
114 |
| -func (l infoToDebugLogger) Println(values ...interface{}) { |
115 |
| - l.log.Debugln(values...) |
| 120 | +func (l *wrapLog) Println(values ...interface{}) { |
| 121 | + l.println(values...) |
116 | 122 | }
|
117 |
| -func (l infoToDebugLogger) Printf(format string, values ...interface{}) { |
118 |
| - l.log.Debugf(format, values...) |
| 123 | + |
| 124 | +func (l *wrapLog) Printf(format string, values ...interface{}) { |
| 125 | + l.printf(format, values...) |
119 | 126 | }
|
0 commit comments