Skip to content

Commit 5a9c908

Browse files
committed
Refactored logging for 'scw run' (scaleway#83)
1 parent be0bb74 commit 5a9c908

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

api/helpers.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func GetIdentifier(api *ScalewayAPI, needle string) *ScalewayResolverResult {
139139
log.Errorf("Too many candidates for %s (%d)", needle, len(idents))
140140
for _, identifier := range idents {
141141
// FIXME: also print the name
142-
log.Infof("- %s", identifier.Identifier)
142+
fmt.Fprint(os.Stderr, "- %s\n", identifier.Identifier)
143143
}
144144
os.Exit(1)
145145
return nil

commands/run.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,21 @@ func runRun(cmd *types.Command, args []string) {
7676
}
7777

7878
// create IMAGE
79-
log.Debugf("Creating a new server")
79+
log.Info("Server creation ...")
8080
dynamicIPRequired := runGateway == ""
8181
serverID, err := api.CreateServer(cmd.API, args[0], runCreateName, runCreateBootscript, runCreateEnv, runCreateVolume, dynamicIPRequired)
8282
if err != nil {
8383
log.Fatalf("Failed to create server: %v", err)
8484
}
85-
log.Debugf("Created server: %s", serverID)
85+
log.Infof("Server created: %s", serverID)
8686

8787
// start SERVER
88-
log.Debugf("Starting server")
88+
log.Info("Server start requested ...")
8989
err = api.StartServer(cmd.API, serverID, false)
9090
if err != nil {
9191
log.Fatalf("Failed to start server %s: %v", serverID, err)
9292
}
93-
log.Debugf("Server is booting")
93+
log.Info("Server is starting, this may take up to a minute ...")
9494

9595
if runDetachFlag {
9696
fmt.Println(serverID)
@@ -99,7 +99,7 @@ func runRun(cmd *types.Command, args []string) {
9999

100100
if runAttachFlag {
101101
// Attach to server serial
102-
log.Debugf("Attaching to server console")
102+
log.Info("Attaching to server console ...")
103103
err = utils.AttachToSerial(serverID, cmd.API.Token, true)
104104
if err != nil {
105105
log.Fatalf("Cannot attach to server serial: %v", err)
@@ -112,26 +112,28 @@ func runRun(cmd *types.Command, args []string) {
112112
}
113113

114114
// waiting for server to be ready
115-
log.Debugf("Waiting for server to be ready")
115+
log.Debug("Waiting for server to be ready")
116116
// We wait for 30 seconds, which is the minimal amount of time needed by a server to boot
117117
time.Sleep(30 * time.Second)
118118
server, err := api.WaitForServerReady(cmd.API, serverID, gateway)
119119
if err != nil {
120120
log.Fatalf("Cannot get access to server %s: %v", serverID, err)
121121
}
122-
log.Debugf("Server is ready: %s", server.PublicAddress.IP)
122+
log.Debugf("SSH server is available: %s:22", server.PublicAddress.IP)
123+
log.Info("Server is ready !")
123124

124125
// exec -w SERVER COMMAND ARGS...
125-
log.Debugf("Executing command")
126126
if len(args) < 2 {
127+
log.Info("Connecting to server ...")
127128
err = utils.SSHExec(server.PublicAddress.IP, server.PrivateIP, []string{}, false, gateway)
128129
} else {
130+
log.Infof("Executing command: %s ...", args[1:])
129131
err = utils.SSHExec(server.PublicAddress.IP, server.PrivateIP, args[1:], false, gateway)
130132
}
131133
if err != nil {
132-
log.Debugf("Command execution failed: %v", err)
134+
log.Infof("Command execution failed: %v", err)
133135
os.Exit(1)
134136
}
135-
log.Debugf("Command successfuly executed")
137+
log.Info("Command successfuly executed")
136138
}
137139
}

main.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ func commandUsage(name string) {
5050
var (
5151
flAPIEndPoint *string
5252
flDebug = flag.Bool([]string{"D", "-debug"}, false, "Enable debug mode")
53+
flVerbose = flag.Bool([]string{"V", "-verbose"}, false, "Enable verbose mode")
5354
flVersion = flag.Bool([]string{"v", "-version"}, false, "Print version information and quit")
5455
flSensitive = flag.Bool([]string{"-sensitive"}, false, "Show sensitive data in outputs, i.e. API Token/Organization")
5556
)
@@ -82,7 +83,11 @@ func main() {
8283
os.Setenv("DEBUG", "1")
8384
}
8485

85-
initLogging(os.Getenv("DEBUG") != "")
86+
if *flVerbose {
87+
os.Setenv("VERBOSE", "1")
88+
}
89+
90+
initLogging(os.Getenv("DEBUG") != "", os.Getenv("VERBOSE") != "")
8691

8792
args := flag.Args()
8893
if len(args) < 1 {
@@ -173,11 +178,13 @@ func showVersion() {
173178
fmt.Printf("scw version %s, build %s\n", scwversion.VERSION, scwversion.GITCOMMIT)
174179
}
175180

176-
func initLogging(debug bool) {
181+
func initLogging(debug bool, verbose bool) {
177182
log.SetOutput(os.Stderr)
178183
if debug {
179184
log.SetLevel(log.DebugLevel)
180-
} else {
185+
} else if verbose {
181186
log.SetLevel(log.InfoLevel)
187+
} else {
188+
log.SetLevel(log.WarnLevel)
182189
}
183190
}

0 commit comments

Comments
 (0)