Threadsafe please

This commit is contained in:
2025-10-03 16:09:13 +02:00
parent fc3a0d026f
commit f2c4c05b27
2 changed files with 36 additions and 25 deletions

29
log.go
View File

@@ -4,22 +4,23 @@ import (
"fmt"
"strings"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/widget"
)
type Logger struct {
logText *widget.Entry
logBuffer []string
logText *widget.Entry
logBuffer []string
logMaxLines int
}
var globalLogger *Logger;
var globalLogger *Logger
func InitLogger(text *widget.Entry, maxLines int) {
globalLogger = &Logger{
logText: text,
logMaxLines: maxLines,
}
globalLogger = &Logger{
logText: text,
logMaxLines: maxLines,
}
}
func Log(line string) {
@@ -32,9 +33,11 @@ func Log(line string) {
}
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"))
}
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"))
})
}