В данной статье предлагается способ организации обратной связи с пользователем с помощью сервиса Logs.

Для организации обратной связи администратора GAE-приложения с пользователем можно использовать различные GAE-сервисы – XMPP, Mail, Channel.
 
Однако использование данных сервисов сообщений подпадает под биллинг и квоты. Поэтому для получения сообщений от пользователя проще всего использовать журнал приложения, так как использование сервиса Logs ограничено лишь размером журнала и временем хранения сообщений – для бесплатного хостинга это 100 мегабайт и 90 дней.
 
Для организации сервиса сообщений в HTML-страницу включим блок:
 
<form id="form_contact"  onsubmit="return formContactSubmit();" method="post" action="/contact" >
 
<label>Введите обратный адрес <br> электронной почты для ответа:</label><br>
 
<input id="input_email" name="email" type="text" size="30"/><br><br>
 
<label>Сообщение:</label><br>
 
<textarea id="text" name="text" rows="5" cols="30"></textarea><br><br>
 
<img id="btn_reset"   src="/img/btn_reset_up.jpg" alt="" class="btn" />
 
<img id="btn_submit"   src="/img/btn_submit_up.jpg" alt="" class="btn" style="margin-left:50px;"/>
 
</form>
 
Создадим сервлет, обрабатывающий форму:
 
import javax.servlet.http.HttpServlet;
 
import javax.servlet.http.HttpServletRequest;
 
import javax.servlet.http.HttpServletResponse;
 
import java.util.logging.Logger;
 
 
 
@SuppressWarnings("serial")
 
public class ContactServlet extends HttpServlet {
 
       
 
private static final Logger log = Logger.getLogger(ContactServlet.class.getName());
 
       
 
public void doPost(HttpServletRequest req, HttpServletResponse resp)
 
                        throws IOException {          
 
                try{
 
String message="E-mail: "+(String)req.getParameter("email")+"  "+"Message: "+(String)req.getParameter("text");
 
log.severe(message);          
 
}catch (Exception ex){
 
System.err.println(ex.getMessage());
 
}
 
resp.sendRedirect("contact.jsp");
 
}}
 
Для хранения сообщения в журнале ему присваивается статус ошибки, чтобы упростить поиск таких сообщений в журнале, так как предполагается, что приложение хорошо протестировано и ошибки выполнения возникают редко.