X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=dmaap-mediator-producer%2Finternal%2Frestclient%2FHTTPClient.go;h=9a827e7ae69d02a38f5539be5e3c034e8e478b7b;hb=5feecd881172a3b22041d35443c1f946e7d5f63e;hp=8ccd4b21ca028fe7cf05cf50118856ee27d2d300;hpb=d0c7f9207203ce9a502fc15c09f9938eebfd44f7;p=nonrtric.git diff --git a/dmaap-mediator-producer/internal/restclient/HTTPClient.go b/dmaap-mediator-producer/internal/restclient/HTTPClient.go index 8ccd4b21..9a827e7a 100644 --- a/dmaap-mediator-producer/internal/restclient/HTTPClient.go +++ b/dmaap-mediator-producer/internal/restclient/HTTPClient.go @@ -31,6 +31,7 @@ import ( "time" "github.com/hashicorp/go-retryablehttp" + log "github.com/sirupsen/logrus" ) // HTTPClient interface @@ -115,6 +116,7 @@ func CreateClientCertificate(certPath string, keyPath string) (tls.Certificate, func CreateRetryClient(cert tls.Certificate) *http.Client { rawRetryClient := retryablehttp.NewClient() + rawRetryClient.Logger = leveledLogger{} rawRetryClient.RetryWaitMax = time.Minute rawRetryClient.RetryMax = math.MaxInt rawRetryClient.HTTPClient.Transport = getSecureTransportWithoutVerify(cert) @@ -145,3 +147,28 @@ func IsUrlSecure(configUrl string) bool { u, _ := url.Parse(configUrl) return u.Scheme == "https" } + +// Used to get leveled logging in the RetryClient +type leveledLogger struct { +} + +func (ll leveledLogger) Error(msg string, keysAndValues ...interface{}) { + log.WithFields(getFields(keysAndValues)).Error(msg) +} +func (ll leveledLogger) Info(msg string, keysAndValues ...interface{}) { + log.WithFields(getFields(keysAndValues)).Info(msg) +} +func (ll leveledLogger) Debug(msg string, keysAndValues ...interface{}) { + log.WithFields(getFields(keysAndValues)).Debug(msg) +} +func (ll leveledLogger) Warn(msg string, keysAndValues ...interface{}) { + log.WithFields(getFields(keysAndValues)).Warn(msg) +} + +func getFields(keysAndValues []interface{}) log.Fields { + fields := log.Fields{} + for i := 0; i < len(keysAndValues); i = i + 2 { + fields[fmt.Sprint(keysAndValues[i])] = keysAndValues[i+1] + } + return fields +}