all repos — emessage @ 6b4a23ef0a41620ece7bf9728e8507ff40439692

The EMessage email client

logger.go (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
package main

import (
	"context"
	"fmt"
	"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...)
	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
}