Skip to content

Commit 068ae90

Browse files
authored
Merge pull request #182 from covexo/improve-log
Implement Writer interface in log
2 parents 520fa90 + ba63037 commit 068ae90

6 files changed

Lines changed: 18 additions & 34 deletions

File tree

pkg/devspace/clients/kubectl/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ func ForwardPorts(kubectlClient *kubernetes.Clientset, pod *k8sv1.Pod, ports []s
222222

223223
logFile := log.GetFileLogger("portforwarding")
224224
dialer := spdy.NewDialer(upgrader, &http.Client{Transport: transport}, "POST", execRequest.URL())
225-
fw, err := portforward.New(dialer, ports, stopChan, readyChan, logFile.GetStream(), logFile.GetStream())
225+
fw, err := portforward.New(dialer, ports, stopChan, readyChan, logFile, logFile)
226226

227227
if err != nil {
228228
return err

pkg/devspace/docker/docker.go

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,8 @@ func BuildImage(dockerfilePath, buildtag string, buildArgs []string) error {
3838

3939
cmd := exec.CommandContext(ctx, "docker", dockerArgs...)
4040

41-
// TODO: Change output
42-
cmd.Stdout = os.Stdout
43-
cmd.Stderr = os.Stdout
41+
cmd.Stdout = log.GetInstance()
42+
cmd.Stderr = log.GetInstance()
4443

4544
err = cmd.Run()
4645

@@ -68,9 +67,8 @@ func PushImage(buildtag string) error {
6867

6968
cmd := exec.CommandContext(ctx, "docker", dockerArgs...)
7069

71-
// TODO: Change output
72-
cmd.Stdout = os.Stdout
73-
cmd.Stderr = os.Stdout
70+
cmd.Stdout = log.GetInstance()
71+
cmd.Stderr = log.GetInstance()
7472

7573
err := cmd.Run()
7674

@@ -93,9 +91,8 @@ func pushImageMinikube(buildtag string) error {
9391

9492
cmd := exec.CommandContext(ctx, "docker", dockerArgs...)
9593

96-
// TODO: Change output
97-
cmd.Stdout = os.Stdout
98-
cmd.Stderr = os.Stdout
94+
cmd.Stdout = log.GetInstance()
95+
cmd.Stderr = log.GetInstance()
9996

10097
err = cmd.Run()
10198

@@ -114,7 +111,6 @@ func builImageMinikube(dockerfilePath, buildtag string, buildArgs []string) erro
114111
}
115112

116113
dockerArgs, err := getMinikubeCliArgs()
117-
118114
if err != nil {
119115
return err
120116
}
@@ -126,9 +122,8 @@ func builImageMinikube(dockerfilePath, buildtag string, buildArgs []string) erro
126122

127123
cmd := exec.CommandContext(ctx, "docker", dockerArgs...)
128124

129-
// TODO: Change output
130-
cmd.Stdout = os.Stdout
131-
cmd.Stderr = os.Stdout
125+
cmd.Stdout = log.GetInstance()
126+
cmd.Stderr = log.GetInstance()
132127

133128
err = cmd.Run()
134129

pkg/util/log/file_logger.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package log
22

33
import (
4-
"io"
54
"os"
65

76
"github.com/sirupsen/logrus"
@@ -180,10 +179,6 @@ func (f *fileLogger) SetLevel(level logrus.Level) {
180179
f.logger.SetLevel(level)
181180
}
182181

183-
func (f *fileLogger) GetStream() io.Writer {
184-
return f.logger.Out
185-
}
186-
187182
func (f *fileLogger) printWithContext(fnType logFunctionType, contextFields map[string]interface{}, args ...interface{}) {
188183
switch fnType {
189184
case doneFn:
@@ -222,6 +217,6 @@ func (f *fileLogger) printWithContextf(fnType logFunctionType, contextFields map
222217
}
223218
}
224219

225-
func (f *fileLogger) Write(message string) {
226-
f.logger.Info(message)
220+
func (f *fileLogger) Write(message []byte) (int, error) {
221+
return f.logger.Out.Write(message)
227222
}

pkg/util/log/log.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,13 @@ func GetInstance() Logger {
142142
// WriteColored writes a message in color
143143
func WriteColored(message string, color ct.Color) {
144144
ct.Foreground(color, false)
145-
stdoutLog.Write(message)
145+
stdoutLog.Write([]byte(message))
146146
ct.ResetColor()
147147
}
148148

149149
// Write writes to the stdout log without formatting the message, but takes care of locking the log and halting a possible wait message
150150
func Write(message string) {
151-
stdoutLog.Write(message)
151+
stdoutLog.Write([]byte(message))
152152
}
153153

154154
// PrintTable prints a table with header columns and string values

pkg/util/log/logger.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package log
22

33
import (
4-
"io"
5-
64
"github.com/sirupsen/logrus"
75
)
86

@@ -38,10 +36,8 @@ type Logger interface {
3836
Print(level logrus.Level, args ...interface{})
3937
Printf(level logrus.Level, format string, args ...interface{})
4038

41-
Write(message string)
42-
39+
Write(message []byte) (int, error)
4340
SetLevel(level logrus.Level)
44-
GetStream() io.Writer
4541

4642
printWithContext(fnType logFunctionType, context map[string]interface{}, args ...interface{})
4743
printWithContextf(fnType logFunctionType, context map[string]interface{}, format string, args ...interface{})

pkg/util/log/stdout_logger.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -380,10 +380,6 @@ func (s *stdoutLogger) SetLevel(level logrus.Level) {
380380
s.level = level
381381
}
382382

383-
func (s *stdoutLogger) GetStream() io.Writer {
384-
return os.Stdout
385-
}
386-
387383
func (s *stdoutLogger) printWithContext(fnType logFunctionType, context map[string]interface{}, args ...interface{}) {
388384
s.logMutex.Lock()
389385
defer s.logMutex.Unlock()
@@ -406,17 +402,19 @@ func (s *stdoutLogger) printWithContextf(fnType logFunctionType, context map[str
406402
}
407403
}
408404

409-
func (s *stdoutLogger) Write(message string) {
405+
func (s *stdoutLogger) Write(message []byte) (int, error) {
410406
s.logMutex.Lock()
411407
defer s.logMutex.Unlock()
412408

413409
if s.loadingText != nil {
414410
s.loadingText.Stop()
415411
}
416412

417-
fnTypeInformationMap[infoFn].stream.Write([]byte(message))
413+
n, err := fnTypeInformationMap[infoFn].stream.Write(message)
418414

419415
if s.loadingText != nil {
420416
s.loadingText.Start()
421417
}
418+
419+
return n, err
422420
}

0 commit comments

Comments
 (0)