From 39715ef14656a78e12e7c22ba0b0107b0d58b749 Mon Sep 17 00:00:00 2001 From: kenanfarukcakir Date: Thu, 21 Mar 2024 17:13:31 +0300 Subject: [PATCH] add err check for logstreamer --- logstreamer/stream.go | 10 ++++++---- main.go | 18 +++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/logstreamer/stream.go b/logstreamer/stream.go index 69b9208..c416c2b 100644 --- a/logstreamer/stream.go +++ b/logstreamer/stream.go @@ -38,7 +38,7 @@ type fileReader struct { *bufio.Reader } -func NewLogStreamer(ctx context.Context, critool *cri.CRITool) *LogStreamer { +func NewLogStreamer(ctx context.Context, critool *cri.CRITool) (*LogStreamer, error) { ls := &LogStreamer{ critool: critool, } @@ -58,12 +58,14 @@ func NewLogStreamer(ctx context.Context, critool *cri.CRITool) *LogStreamer { ls.connPool = connPool if err != nil { - log.Logger.Fatal().Err(err).Msg("failed to create connection pool") + log.Logger.Error().Err(err).Msg("failed to create connection pool") + return nil, err } watcher, err := fsnotify.NewWatcher() if err != nil { - log.Logger.Fatal().Err(err).Msg("failed to create fsnotify watcher") + log.Logger.Error().Err(err).Msg("failed to create fsnotify watcher") + return nil, err } ls.watcher = watcher @@ -79,7 +81,7 @@ func NewLogStreamer(ctx context.Context, critool *cri.CRITool) *LogStreamer { ls.logPathToContainerMeta = make(map[string]string, 0) ls.containerIdToLogPath = make(map[string]string, 0) - return ls + return ls, nil } func (ls *LogStreamer) Done() chan struct{} { diff --git a/main.go b/main.go index 04ba7d5..61c2f2b 100644 --- a/main.go +++ b/main.go @@ -102,13 +102,17 @@ func main() { var ls *logstreamer.LogStreamer if logsEnabled && ct != nil { - ls = logstreamer.NewLogStreamer(ctx, ct) - go func() { - err := ls.StreamLogs() - if err != nil { - log.Logger.Error().Err(err).Msg("failed to stream logs") - } - }() + ls, err = logstreamer.NewLogStreamer(ctx, ct) + if err != nil { + log.Logger.Error().Err(err).Msg("failed to create logstreamer") + } else { + go func() { + err := ls.StreamLogs() + if err != nil { + log.Logger.Error().Err(err).Msg("failed to stream logs") + } + }() + } } go http.ListenAndServe(":8181", nil)