ui/log.go

49 lines
758 B
Go
Raw Normal View History

2024-03-30 17:45:07 +01:00
package ui
import (
"fmt"
"log"
"reflect"
)
func LogWindowEvent(view View, evt WindowEventName) {
pkg, viewName := windowFQN(view)
log.Printf("%s.%s: %s", pkg, viewName, evt)
}
func LogWindowEventMessage(
view View,
evt WindowEventName,
msg string,
args ...any,
) {
pkg, viewName := windowFQN(view)
log.Printf(
"%s.%s: %s [%s]",
pkg, viewName, evt,
fmt.Sprintf(msg, args...))
}
func LogWindowError(
view View, evt WindowEventName,
err error,
) {
pkg, viewName := windowFQN(view)
log.Printf(
"%s.%s: %s [%s]",
pkg, viewName, evt, err)
}
func windowFQN(view View) (
pkg string,
viewName string,
) {
t := reflect.TypeOf(view)
if t.Kind() == reflect.Pointer {
t = t.Elem()
}
pkg = t.PkgPath()
viewName = t.Name()
return
}