Files
unreal-launcher/log.go
2025-10-03 16:09:13 +02:00

44 lines
695 B
Go

package main
import (
"fmt"
"strings"
"fyne.io/fyne/v2"
"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) {
fyne.Do(func() {
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"))
})
}