49 lines
758 B
Go
49 lines
758 B
Go
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
|
|
}
|