Skip to content

Commit a8c710b

Browse files
committed
Add extractRelevantInfo method
Signed-off-by: Rohanraj123 <[email protected]>
1 parent fcb7a02 commit a8c710b

File tree

2 files changed

+36
-4
lines changed

2 files changed

+36
-4
lines changed

kpm.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package main
44

55
import (
6+
"fmt"
67
"os"
78

89
"github.com/urfave/cli/v2"
@@ -16,7 +17,7 @@ func main() {
1617
reporter.InitReporter()
1718
kpmcli, err := client.NewKpmClient()
1819
if err != nil {
19-
reporter.Fatal(err)
20+
kpmcli.WriteLog(fmt.Sprintf("Error: %v", err))
2021
}
2122
app := cli.NewApp()
2223
app.Name = "kpm"

pkg/logger/logwriter.go

+34-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package logger
33
import (
44
"fmt"
55
"os"
6+
"runtime"
7+
"strings"
8+
"time"
69
)
710

811
type LogWriter struct {
@@ -26,9 +29,37 @@ func NewLogWriter() *LogWriter {
2629

2730
func (lw *LogWriter) Write(p []byte) (n int, err error) {
2831
if lw.Level == DebugLevel {
29-
fmt.Fprintf(os.Stdout, "[DEBUG] %s", string(p))
30-
} else {
31-
fmt.Fprintf(os.Stdout, "[INFO] %s", string(p))
32+
33+
buf := make([]byte, 1024)
34+
runtime.Stack(buf, false)
35+
36+
debugMessage := fmt.Sprintf(
37+
"[DEBUG] %s\nTimestamp: %s\nStack Trace:\n%s\n",
38+
string(p),
39+
time.Now().Format(time.RFC3339),
40+
string(buf),
41+
)
42+
fmt.Fprint(os.Stdout, debugMessage)
43+
return len(debugMessage), nil
3244
}
45+
46+
message := extractRelevantInfo(string(p))
47+
fmt.Fprintf(os.Stdout, "[INFO] %s", message)
3348
return len(p), nil
3449
}
50+
51+
func extractRelevantInfo(message string) string {
52+
lines := strings.Split(message, "\n") // Split message into lines
53+
var filteredLines []string
54+
55+
for _, line := range lines {
56+
// Exclude unnecessary debug/error details
57+
if strings.Contains(line, "[FAILED] Expected") ||
58+
strings.Contains(line, "In [It] at:") {
59+
continue // Skip these lines
60+
}
61+
filteredLines = append(filteredLines, line)
62+
}
63+
64+
return strings.Join(filteredLines, "\n") // Reconstruct filtered message
65+
}

0 commit comments

Comments
 (0)