abstract view logging cannot use "type" as a keyword as it clobbers the log event type