Visible to the public Log Your CRUD: Design Principles for Software Logging Mechanisms