package model // Logger defines the common interface that a logger should have. It is // out of the box compatible with `log.Log` in `apex/log`. type Logger interface { // Debug emits a debug message. Debug(msg string) // Debugf formats and emits a debug message. Debugf(format string, v ...interface{}) // Info emits an informational message. Info(msg string) // Infof formats and emits an informational message. Infof(format string, v ...interface{}) // Warn emits a warning message. Warn(msg string) // Warnf formats and emits a warning message. Warnf(format string, v ...interface{}) } // DiscardLogger is a logger that discards its input var DiscardLogger Logger = logDiscarder{} type logDiscarder struct{} func (logDiscarder) Debug(msg string) {} func (logDiscarder) Debugf(format string, v ...interface{}) {} func (logDiscarder) Info(msg string) {} func (logDiscarder) Infof(format string, v ...interface{}) {} func (logDiscarder) Warn(msg string) {} func (logDiscarder) Warnf(format string, v ...interface{}) {}