github.com/scaleway/scaleway-cli@v1.11.1/pkg/clilogger/clilogger.go (about)

     1  package clilogger
     2  
     3  import (
     4  	"net/http"
     5  	"os"
     6  
     7  	"github.com/Sirupsen/logrus"
     8  	"github.com/moul/http2curl"
     9  	"github.com/scaleway/scaleway-cli/pkg/api"
    10  )
    11  
    12  type cliLogger struct {
    13  	*logrus.Logger
    14  	s *api.ScalewayAPI
    15  }
    16  
    17  func (l *cliLogger) LogHTTP(req *http.Request) {
    18  	curl, err := http2curl.GetCurlCommand(req)
    19  	if err != nil {
    20  		l.Fatalf("Failed to convert to curl request: %q", err)
    21  	}
    22  
    23  	if os.Getenv("SCW_SENSITIVE") != "1" {
    24  		l.Debug(l.s.HideAPICredentials(curl.String()))
    25  	} else {
    26  		l.Debug(curl.String())
    27  	}
    28  }
    29  
    30  func NewCliLogger(s *api.ScalewayAPI) api.Logger {
    31  	return &cliLogger{
    32  		Logger: logrus.StandardLogger(),
    33  		s:      s,
    34  	}
    35  }
    36  
    37  func SetupLogger(s *api.ScalewayAPI) {
    38  	s.Logger = NewCliLogger(s)
    39  }