package main import ( "context" "fmt" "os" "time" "github.com/wailsapp/wails/v2/pkg/runtime" ) type LogMessage struct { context context.Context message string } func (app *App) Log(format string, a ...any) *LogMessage { log := LogMessage{context: app.ctx} log.message = fmt.Sprintf(format, a...) os.WriteFile( app.GetTmpLogFile(), []byte(log.message), os.ModeAppend, ) return &log } func (log *LogMessage) Stdout() *LogMessage { fmt.Printf("[%s] %s\n", time.Now().Format(time.DateTime), log.message) return log } func (log *LogMessage) StatusLine() *LogMessage { runtime.EventsEmit(log.context, "status", log.message) return log }