2010-11-13 15 views
11

Sto utilizzando il mio login sulla mia app GoogleAppEngine Java. Funziona in modo divertente quando viene distribuita l'app. Tuttavia, non riesco a visualizzare i miei messaggi di registro quando eseguo la mia app nel server di sviluppo.Rendere visibili i messaggi di registro sul server di sviluppo GoogleAppEngine Java (utilizzato con GWT)

salienti dettagli aggiuntivi:

  • Sono in esecuzione il server di sviluppo di App Engine all'interno del contenitore modalità di sviluppo GWT, non autonomo.
  • Ho configurato un logging.properties, anche se non sembra fare alcuna differenza (funziona correttamente in produzione con o senza logging.properties e non funziona in sviluppo con o senza logging.properties).
  • Se utilizzo System.out.println sul server di sviluppo, questo viene emesso sul terminale da cui ho eseguito il contenitore della modalità di sviluppo GWT. Ovviamente questa soluzione è utilizzabile, ma mi piacerebbe che il logging funzionasse in entrambe le modalità di sviluppo e produzione.

Qualcuno ha ottenuto il logging in modalità sviluppo (con o senza l'utilizzo di AppEngine in combinazione con il contenitore della modalità di sviluppo GWT)? C'è qualche incantesimo magico di cui ho bisogno per vedere il mio output di registrazione?

risposta

2

Ho avuto lo stesso problema ieri, ma ora funziona per me.

Non so quale sia la modifica, ma posterò la mia configurazione di seguito in modo da poter provare (esecuzione di GAE 1.3.8, senza GWT ma non dovrebbe importare).

Si prega di notare che i registri verranno visualizzati nella finestra della console (tra gli altri server di registrazione). Non sono sicuro che tu possa farlo per accedere ai file poiché il server è in esecuzione in una sorta di sandbox. Ho provato questa configurazione solo nel mio ambiente locale, non caricata.

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

In caso hai ancora problemi, ferma il server e riavvia Eclipse e il server, forse è stato questo a renderlo funzionante. Inoltre, lo eseguo come "Debug come/Applicazione Web" – Brummo

+0

Il fatto che eseguo GWT è molto rilevante. Quando si esegue in GWT non c'è una console GAE. Non sto usando Eclipse, quindi se c'è un cablaggio speciale per far apparire i messaggi di registro, non è utile per me. – samskivert

0

Plase cambiare la vostra File WEB-INF/logging.properties.

Aggiungere

.level=INFO 
0

Assicurarsi di avere le classi di registro giusti e livello di registrazione impostati nel file di logging.properties:

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 
Problemi correlati