@@ -19,19 +19,21 @@ package compose
19
19
import (
20
20
"fmt"
21
21
22
+ "github.com/docker/compose-cli/api/compose"
23
+
22
24
"github.com/sirupsen/logrus"
23
25
)
24
26
25
- // LogPrinter watch application containers an collect their logs
26
- type LogPrinter interface {
27
- HandleEvent (event ContainerEvent )
27
+ // logPrinter watch application containers an collect their logs
28
+ type logPrinter interface {
29
+ HandleEvent (event compose. ContainerEvent )
28
30
Run (cascadeStop bool , exitCodeFrom string , stopFn func () error ) (int , error )
29
31
Cancel ()
30
32
}
31
33
32
- // NewLogPrinter builds a LogPrinter passing containers logs to LogConsumer
33
- func NewLogPrinter (consumer LogConsumer ) LogPrinter {
34
- queue := make (chan ContainerEvent )
34
+ // newLogPrinter builds a LogPrinter passing containers logs to LogConsumer
35
+ func newLogPrinter (consumer compose. LogConsumer ) logPrinter {
36
+ queue := make (chan compose. ContainerEvent )
35
37
printer := printer {
36
38
consumer : consumer ,
37
39
queue : queue ,
@@ -40,17 +42,17 @@ func NewLogPrinter(consumer LogConsumer) LogPrinter {
40
42
}
41
43
42
44
func (p * printer ) Cancel () {
43
- p .queue <- ContainerEvent {
44
- Type : UserCancel ,
45
+ p .queue <- compose. ContainerEvent {
46
+ Type : compose . UserCancel ,
45
47
}
46
48
}
47
49
48
50
type printer struct {
49
- queue chan ContainerEvent
50
- consumer LogConsumer
51
+ queue chan compose. ContainerEvent
52
+ consumer compose. LogConsumer
51
53
}
52
54
53
- func (p * printer ) HandleEvent (event ContainerEvent ) {
55
+ func (p * printer ) HandleEvent (event compose. ContainerEvent ) {
54
56
p .queue <- event
55
57
}
56
58
@@ -64,15 +66,15 @@ func (p *printer) Run(cascadeStop bool, exitCodeFrom string, stopFn func() error
64
66
event := <- p .queue
65
67
container := event .Container
66
68
switch event .Type {
67
- case UserCancel :
69
+ case compose . UserCancel :
68
70
aborting = true
69
- case ContainerEventAttach :
71
+ case compose . ContainerEventAttach :
70
72
if _ , ok := containers [container ]; ok {
71
73
continue
72
74
}
73
75
containers [container ] = struct {}{}
74
76
p .consumer .Register (container )
75
- case ContainerEventExit :
77
+ case compose . ContainerEventExit :
76
78
if ! event .Restarting {
77
79
delete (containers , container )
78
80
}
@@ -100,7 +102,7 @@ func (p *printer) Run(cascadeStop bool, exitCodeFrom string, stopFn func() error
100
102
// Last container terminated, done
101
103
return exitCode , nil
102
104
}
103
- case ContainerEventLog :
105
+ case compose . ContainerEventLog :
104
106
if ! aborting {
105
107
p .consumer .Log (container , event .Service , event .Line )
106
108
}
0 commit comments