Skip to content

Commit 82d7c57

Browse files
author
Quentin Perez
authored
Merge pull request #420 from QuentinPerez/logger
login: reenable logging
2 parents 37f3812 + 141708c commit 82d7c57

File tree

3 files changed

+46
-37
lines changed

3 files changed

+46
-37
lines changed

pkg/cli/main.go

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import (
1515

1616
"github.com/Sirupsen/logrus"
1717
flag "github.com/docker/docker/pkg/mflag"
18-
"github.com/moul/http2curl"
1918

2019
version "github.com/hashicorp/go-version"
2120
"github.com/scaleway/scaleway-cli/pkg/api"
21+
"github.com/scaleway/scaleway-cli/pkg/clilogger"
2222
"github.com/scaleway/scaleway-cli/pkg/commands"
2323
"github.com/scaleway/scaleway-cli/pkg/config"
2424
"github.com/scaleway/scaleway-cli/pkg/scwversion"
@@ -146,34 +146,7 @@ func getScalewayAPI(region string) (*api.ScalewayAPI, error) {
146146
if err != nil {
147147
return nil, err
148148
}
149-
return api.NewScalewayAPI(config.Organization, config.Token, scwversion.UserAgent(), region, func(s *api.ScalewayAPI) {
150-
s.Logger = newCliLogger(s)
151-
})
152-
}
153-
154-
type cliLogger struct {
155-
*logrus.Logger
156-
s *api.ScalewayAPI
157-
}
158-
159-
func (l *cliLogger) LogHTTP(req *http.Request) {
160-
curl, err := http2curl.GetCurlCommand(req)
161-
if err != nil {
162-
l.Fatalf("Failed to convert to curl request: %q", err)
163-
}
164-
165-
if os.Getenv("SCW_SENSITIVE") != "1" {
166-
l.Debug(l.s.HideAPICredentials(curl.String()))
167-
} else {
168-
l.Debug(curl.String())
169-
}
170-
}
171-
172-
func newCliLogger(s *api.ScalewayAPI) api.Logger {
173-
return &cliLogger{
174-
Logger: logrus.StandardLogger(),
175-
s: s,
176-
}
149+
return api.NewScalewayAPI(config.Organization, config.Token, scwversion.UserAgent(), region, clilogger.SetupLogger)
177150
}
178151

179152
func initLogging(debug bool, verbose bool, streams *commands.Streams) {

pkg/clilogger/clilogger.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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+
}

pkg/commands/login.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"golang.org/x/crypto/ssh/terminal"
1919

2020
"github.com/scaleway/scaleway-cli/pkg/api"
21+
"github.com/scaleway/scaleway-cli/pkg/clilogger"
2122
"github.com/scaleway/scaleway-cli/pkg/config"
2223
"github.com/scaleway/scaleway-cli/pkg/scwversion"
2324
)
@@ -83,12 +84,8 @@ func selectKey(args *LoginArgs) error {
8384
return nil
8485
}
8586

86-
func disableLogger(s *api.ScalewayAPI) {
87-
s.Logger = api.NewDisableLogger()
88-
}
89-
9087
func getToken(connect api.ScalewayConnect) (string, error) {
91-
FakeConnection, err := api.NewScalewayAPI("", "", scwversion.UserAgent(), "", disableLogger)
88+
FakeConnection, err := api.NewScalewayAPI("", "", scwversion.UserAgent(), "", clilogger.SetupLogger)
9289
if err != nil {
9390
return "", fmt.Errorf("Unable to create a fake ScalewayAPI: %s", err)
9491
}
@@ -117,7 +114,7 @@ func getToken(connect api.ScalewayConnect) (string, error) {
117114
}
118115

119116
func getOrganization(token string, email string) (string, error) {
120-
FakeConnection, err := api.NewScalewayAPI("", token, scwversion.UserAgent(), "", disableLogger)
117+
FakeConnection, err := api.NewScalewayAPI("", token, scwversion.UserAgent(), "", clilogger.SetupLogger)
121118
if err != nil {
122119
return "", fmt.Errorf("Unable to create a fake ScalewayAPI: %s", err)
123120
}
@@ -209,7 +206,7 @@ func uploadSSHKeys(apiConnection *api.ScalewayAPI, newKey string) {
209206
// RunLogin is the handler for 'scw login'
210207
func RunLogin(ctx CommandContext, args LoginArgs) error {
211208
if config, cfgErr := config.GetConfig(); cfgErr == nil {
212-
if TestConnection, err := api.NewScalewayAPI(config.Organization, config.Token, scwversion.UserAgent(), "", disableLogger); err == nil {
209+
if TestConnection, err := api.NewScalewayAPI(config.Organization, config.Token, scwversion.UserAgent(), "", clilogger.SetupLogger); err == nil {
213210
if user, err := TestConnection.GetUser(); err == nil {
214211
fmt.Println("You are already logged as", user.Fullname)
215212
}
@@ -230,7 +227,7 @@ func RunLogin(ctx CommandContext, args LoginArgs) error {
230227
Token: strings.Trim(args.Token, "\n"),
231228
}
232229

233-
apiConnection, err := api.NewScalewayAPI(cfg.Organization, cfg.Token, scwversion.UserAgent(), "", disableLogger)
230+
apiConnection, err := api.NewScalewayAPI(cfg.Organization, cfg.Token, scwversion.UserAgent(), "", clilogger.SetupLogger)
234231
if err != nil {
235232
return fmt.Errorf("Unable to create ScalewayAPI: %s", err)
236233
}

0 commit comments

Comments
 (0)