Skip to content

Commit

Permalink
daemon.ContainerLogs: minor debug logging cleanup
Browse files Browse the repository at this point in the history
This code has many return statements, for some of them the
"end logs" or "end stream" message was not printed, giving
the impression that this "for" loop never ended.

Make sure that "begin logs" is to be followed by "end logs".

Signed-off-by: Kir Kolyshkin <[email protected]>
  • Loading branch information
kolyshkin committed Sep 6, 2018
1 parent 7aa797f commit 2e4c2a6
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions daemon/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ func (daemon *Daemon) ContainerLogs(ctx context.Context, containerName string, c
defer close(messageChan)

lg.Debug("begin logs")
defer lg.Debugf("end logs (%v)", ctx.Err())

for {
select {
// i do not believe as the system is currently designed any error
Expand All @@ -132,14 +134,12 @@ func (daemon *Daemon) ContainerLogs(ctx context.Context, containerName string, c
}
return
case <-ctx.Done():
lg.Debugf("logs: end stream, ctx is done: %v", ctx.Err())
return
case msg, ok := <-logs.Msg:
// there is some kind of pool or ring buffer in the logger that
// produces these messages, and a possible future optimization
// might be to use that pool and reuse message objects
if !ok {
lg.Debug("end logs")
return
}
m := msg.AsLogMessage() // just a pointer conversion, does not copy data
Expand Down

0 comments on commit 2e4c2a6

Please sign in to comment.