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 }