diff --git a/daemon/logger/copier.go b/daemon/logger/copier.go index 1e605e39ce78c..afd09b0ca3deb 100644 --- a/daemon/logger/copier.go +++ b/daemon/logger/copier.go @@ -45,13 +45,11 @@ func NewCopier(srcs map[string]io.Reader, dst Logger) *Copier { // Run starts logs copying func (c *Copier) Run() { for src, w := range c.srcs { - c.copyJobs.Add(1) go c.copySrc(src, w) } } func (c *Copier) copySrc(name string, src io.Reader) { - defer c.copyJobs.Done() bufSize := defaultBufSize if sizedLogger, ok := c.dst.(SizedLogger); ok { @@ -126,9 +124,7 @@ func (c *Copier) copySrc(name string, src io.Reader) { msg.Timestamp = partialTS } - if logErr := c.dst.Log(msg); logErr != nil { - logDriverError(c.dst.Name(), string(msg.Line), logErr) - } + c.dst.Log(msg) } p += q + 1 } @@ -158,9 +154,7 @@ func (c *Copier) copySrc(name string, src io.Reader) { ordinal++ hasMorePartial = true - if logErr := c.dst.Log(msg); logErr != nil { - logDriverError(c.dst.Name(), string(msg.Line), logErr) - } + c.dst.Log(msg) p = 0 n = 0 } @@ -175,6 +169,7 @@ func (c *Copier) copySrc(name string, src io.Reader) { } } } + c.copyJobs.Done() } // Wait waits until all copying is done @@ -184,7 +179,5 @@ func (c *Copier) Wait() { // Close closes the copier func (c *Copier) Close() { - c.closeOnce.Do(func() { - close(c.closed) - }) + close(c.closed) }