From fd309134a251c746f3d9c6b0a43519ea4816474e Mon Sep 17 00:00:00 2001 From: blotus Date: Mon, 15 Jan 2024 15:00:49 +0100 Subject: [PATCH] log death reason of file reader if available (#2721) --- pkg/acquisition/modules/file/file.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/acquisition/modules/file/file.go b/pkg/acquisition/modules/file/file.go index 53bc86e7e..4ea9466d4 100644 --- a/pkg/acquisition/modules/file/file.go +++ b/pkg/acquisition/modules/file/file.go @@ -453,9 +453,14 @@ func (f *FileSource) tailFile(out chan types.Event, t *tomb.Tomb, tail *tail.Tai } return nil case <-tail.Dying(): //our tailer is dying - logger.Warningf("File reader of %s died", tail.Filename) - t.Kill(fmt.Errorf("dead reader for %s", tail.Filename)) - return fmt.Errorf("reader for %s is dead", tail.Filename) + err := tail.Err() + errMsg := fmt.Sprintf("file reader of %s died", tail.Filename) + if err != nil { + errMsg = fmt.Sprintf(errMsg+" : %s", err) + } + logger.Warningf(errMsg) + t.Kill(fmt.Errorf(errMsg)) + return fmt.Errorf(errMsg) case line := <-tail.Lines: if line == nil { logger.Warningf("tail for %s is empty", tail.Filename)