loggin added
This commit is contained in:
69
agent/logger.go
Normal file
69
agent/logger.go
Normal file
@@ -0,0 +1,69 @@
|
||||
package agent
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type Logger struct {
|
||||
verbose bool
|
||||
}
|
||||
|
||||
func NewLogger(verbose bool) *Logger {
|
||||
return &Logger{verbose: verbose}
|
||||
}
|
||||
|
||||
func (l *Logger) Info(format string, args ...any) {
|
||||
fmt.Printf(format+"\n", args...)
|
||||
}
|
||||
|
||||
func (l *Logger) ChatMessage(role string, content string) {
|
||||
if !l.verbose {
|
||||
return
|
||||
}
|
||||
|
||||
width := 60
|
||||
var icon, border string
|
||||
|
||||
switch role {
|
||||
case "system":
|
||||
icon = "⚙️ SYSTEM"
|
||||
border = strings.Repeat("═", width)
|
||||
case "user":
|
||||
icon = "👤 USER"
|
||||
border = strings.Repeat("─", width)
|
||||
case "assistant":
|
||||
icon = "🤖 ASSISTANT"
|
||||
border = strings.Repeat("─", width)
|
||||
case "tool":
|
||||
icon = "🔧 TOOL RESULT"
|
||||
border = strings.Repeat("·", width)
|
||||
}
|
||||
|
||||
fmt.Printf("\n%s\n", border)
|
||||
fmt.Printf(" %s\n", icon)
|
||||
fmt.Printf("%s\n", border)
|
||||
fmt.Println(content)
|
||||
fmt.Printf("%s\n", border)
|
||||
}
|
||||
|
||||
func (l *Logger) TaskStart(title string) {
|
||||
fmt.Printf("\n🔄 Starte Task: %s\n", title)
|
||||
fmt.Println(strings.Repeat("─", 60))
|
||||
}
|
||||
|
||||
func (l *Logger) TaskDone(title string) {
|
||||
fmt.Printf("✅ Task abgeschlossen: %s\n", title)
|
||||
}
|
||||
|
||||
func (l *Logger) TaskFailed(title string, retries int) {
|
||||
fmt.Printf("❌ Task fehlgeschlagen nach %d Versuchen: %s\n", retries, title)
|
||||
}
|
||||
|
||||
func (l *Logger) Turn(n int) {
|
||||
if l.verbose {
|
||||
fmt.Printf("\n┌─ Turn %d %s\n", n, strings.Repeat("─", 50))
|
||||
} else {
|
||||
fmt.Printf(" 💭 Turn %d...\n", n)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user