2010-11-13 18 views
11

Estoy usando java.util.logging.Logger para hacer mi registro en mi aplicación GoogleAppEngine de Java. Esto funciona mucho cuando se implementa la aplicación. Sin embargo, no puedo ver mis mensajes de registro cuando ejecuto mi aplicación en el servidor de desarrollo.Hacer que los mensajes de registro sean visibles en Java Servidor de desarrollo de GoogleAppEngine (usado con GWT)

salientes detalles adicionales:

  • estoy ejecutando el servidor de desarrollo de App Engine en el interior del recipiente de modo de desarrollo GWT, no autónomo.
  • Tengo un logging.properties configurado, aunque parece no tener ninguna diferencia (funciona correctamente en producción con o sin logging.properties, y no funciona en desarrollo con o sin logging.properties).
  • Si utilizo System.out.println en el servidor de desarrollo, esto se envía al terminal desde el que ejecuté el contenedor de modo de desarrollo GWT. Obviamente, esta es una solución utilizable, pero me gustaría iniciar sesión solo para trabajar en modo de desarrollo y producción.

Alguien ha conseguido ingresar a trabajar en el modo de desarrollo (con o sin el uso de App Engine en conjunto con el contenedor modo de desarrollo GWT)? ¿Hay algún hechizo mágico que necesite para ver mi salida de registro?

Respuesta

2

Ayer tuve el mismo problema, pero ahora me funciona.

No estoy seguro de cuál fue el cambio, pero publicaré mi configuración a continuación para que pueda probarlo (ejecutando GAE 1.3.8, no GWT pero no debería importar).

Tenga en cuenta que los registros aparecerán en la ventana de la consola (entre otros registros del servidor). No estoy seguro de que pueda hacer que inicie sesión en los archivos, ya que el servidor se está ejecutando en algún tipo de entorno limitado. Solo probé esta configuración en mi entorno local, no cargada.

WEB-INF/appengine-web.xml:

<?xml version="1.0" encoding="utf-8"?> 
    <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
     <!-- (omitted application,version from sample--> 
     <system-properties> 
     <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/> 
     </system-properties> 
    </appengine-web-app> 

WEB-INF/logging.properties:

# Set the default logging level for all loggers to WARNING 
    #.level = WARNING 
    #.level = ALL 
    .level = INFO 

logtest.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java"%> 
<%@ page import=" java.util.logging.Logger"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" lang="sv" xml:lang="sv"> 
<head> 
</head> 

<% 
Logger logger = Logger.getLogger("org.whatever.Logtest"); 
logger.info("logtest info"); 
logger.warning("logtest warning"); 
logger.severe("logtest severe"); 


%> 

<body> 
Check the console for logging 
</body> 

</html> 
+0

En caso todavía tiene problemas, detiene el servidor y reinicia Eclipse y el servidor, tal vez eso fue lo que hizo que funcionara para mí. Además, por cierto, lo ejecuto como "Debug as/Web application" – Brummo

+0

El hecho de que estoy ejecutando GWT es muy relevante. Cuando se ejecuta en GWT, no hay una consola GAE. No estoy usando Eclipse, así que si hay un cableado especial para hacer que los mensajes de registro aparezcan allí, eso no es útil para mí. – samskivert

0

Plase cambiar su Archivo WEB-INF/logging.properties.

Añadir

.level=INFO 
0

Asegúrate de que tienes las clases de registro correctamente y nivel de registro creados en su logging.properties archivo:

WEB-INF/logging.properties:

# Configure a file log for devserver 
handlers=java.util.logging.ConsoleHandler,java.util.logging.FileHandler 
java.util.logging.FileHandler.pattern=/tmp/appengine-devserver.log 
java.util.logging.FileHandler.limit=0 # no limit 
java.util.logging.FileHandler.count=1 
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter 

# Set the default logging level for all loggers to WARNING 
.level = INFO 
Cuestiones relacionadas