chore: fix logs

Kujtim Hoxha created

Change summary

cmd/logs.go | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

Detailed changes

cmd/logs.go 🔗

@@ -3,6 +3,7 @@ package cmd
 import (
 	"encoding/json"
 	"fmt"
+	"os"
 	"path/filepath"
 	"slices"
 	"time"
@@ -26,16 +27,22 @@ var logsCmd = &cobra.Command{
 		if err != nil {
 			return fmt.Errorf("failed to get current working directory: %v", err)
 		}
+		log.SetLevel(log.DebugLevel)
 		cfg, err := config.Load(cwd, false)
 		if err != nil {
 			return fmt.Errorf("failed to load configuration: %v", err)
 		}
-		t, err := tail.TailFile(filepath.Join(cfg.Options.DataDirectory, "logs", "crush.log"), tail.Config{Follow: true, ReOpen: true, Logger: tail.DiscardingLogger})
+		logsFile := filepath.Join(cfg.WorkingDir(), cfg.Options.DataDirectory, "logs", "crush.log")
+		_, err = os.Stat(logsFile)
+		if os.IsNotExist(err) {
+			log.Warn("Looks like you are not in a crush project. No logs found.")
+			return nil
+		}
+		t, err := tail.TailFile(logsFile, tail.Config{Follow: true, ReOpen: true, Logger: tail.DiscardingLogger})
 		if err != nil {
 			return fmt.Errorf("failed to tail log file: %v", err)
 		}
 
-		log.SetLevel(log.DebugLevel)
 		// Print the text of each received line
 		for line := range t.Lines {
 			var data map[string]any