@@ -22,6 +22,7 @@ import (
2222
2323 "github.com/docker/cli/cli/command"
2424 "github.com/docker/compose/v2/pkg/compose"
25+ "github.com/docker/compose/v2/pkg/progress"
2526 "github.com/spf13/cobra"
2627
2728 "github.com/docker/compose/v2/cmd/formatter"
@@ -90,8 +91,7 @@ func runLogs(ctx context.Context, dockerCli command.Cli, backendOptions *Backend
9091 if err != nil {
9192 return err
9293 }
93- outStream , errStream , _ := backend .GetConfiguredStreams ()
94- consumer := formatter .NewLogConsumer (ctx , outStream , errStream , ! opts .noColor , ! opts .noPrefix , false )
94+ consumer := formatter .NewLogConsumer (ctx , dockerCli .Out (), dockerCli .Err (), ! opts .noColor , ! opts .noPrefix , false )
9595 return backend .Logs (ctx , name , consumer , api.LogOptions {
9696 Project : project ,
9797 Services : services ,
@@ -103,3 +103,32 @@ func runLogs(ctx context.Context, dockerCli command.Cli, backendOptions *Backend
103103 Timestamps : opts .timestamps ,
104104 })
105105}
106+
107+ var _ api.LogConsumer = & logConsumer {}
108+
109+ type logConsumer struct {
110+ events progress.EventProcessor
111+ }
112+
113+ func (l logConsumer ) Log (containerName , message string ) {
114+ l .events .On (progress.Event {
115+ ID : containerName ,
116+ Text : message ,
117+ })
118+ }
119+
120+ func (l logConsumer ) Err (containerName , message string ) {
121+ l .events .On (progress.Event {
122+ ID : containerName ,
123+ Status : progress .Error ,
124+ Text : message ,
125+ })
126+ }
127+
128+ func (l logConsumer ) Status (containerName , message string ) {
129+ l .events .On (progress.Event {
130+ ID : containerName ,
131+ Status : progress .Error ,
132+ Text : message ,
133+ })
134+ }
0 commit comments