package main import ( "fmt" "strings" "fyne.io/fyne/v2/widget" ) type Logger struct { logText *widget.Entry logBuffer []string logMaxLines int } var globalLogger *Logger; func InitLogger(text *widget.Entry, maxLines int) { globalLogger = &Logger{ logText: text, logMaxLines: maxLines, } } func Log(line string) { if globalLogger == nil { fmt.Println("Global Logger is nil") return } globalLogger.log(line) } func (l *Logger) log(line string) { l.logBuffer = append(l.logBuffer, line) if len(l.logBuffer) > l.logMaxLines { l.logBuffer = l.logBuffer[1:] } l.logText.SetText(strings.Join(l.logBuffer, "\n")) }