code: func ErrorWithFields(pkg string, fields logrus.Fields, format string, v ...interface{}) Error {
  	fields["pkg"] = pkg
  	entry := logrus.WithFields(fields)
  	entry.Message = fmt.Sprintf(format, v...)
  
  	return Error{entry, fmt.Errorf(format, v...)}
  }
docs: // ErrorWithFields is a helper for searchable error fields output