2010-10-30 7 views
28

Je ne trouve pas les résultats de mes appels de connexion. pour enregistrer les messages j'ai essayé les deux:Google App Engine - Impossible de trouver mes messages de connexion

System.out.println("some message"); 

et

Logger logger = Logger.getLogger("MyLogger"); // Logger is java.util.logging.Logger 

// ... 

logger.info("some message"); 

J'ai déployé mon application et après quelques essais, j'ai décidé de vérifier quelques messages du journal. Mais il n'y avait pas de messages. J'ai changé le niveau de gravité minimum « Info » de défaut « Erreur », et seuls les messages que j'ai vu étaient messages de service comme celui-ci:

http://dl.dropbox.com/u/1678938/logs.png

Je serais également reconnaissant si quelqu'un montre un petit extrait avec la connexion de certaines données (si cela fonctionne) - Je soupçonne que mon problème peut être celui de ces problèmes stupides quand une virgule quelque peu incorrecte peut être la cause de la situation.

+0

Avez-vous cliqué sur les signes + à côté de ces messages de journal pour les développer? Comme affiché, il est impossible de dire si les choses que vous avez enregistrées sont réellement dans le journal. – geoffspear

+0

oui, j'ai cliqué + 'es - il n'y avait rien de similaire avec l'info, je me suis connecté à mon application. Seules les chaînes "factices" décrivant certaines requêtes à l'application – Alexander

+1

Cherchez-vous les journaux pour la version correcte de votre application? Il est possible que vous avez déployé à la version X, mais regardent les journaux pour la version Y. –

Répondre

12

Problème s'est réduit à une forme plus concrète - App Engine "mange" des messages d'information, mais en montre d'autres, tels que des messages d'erreur et d'avertissement.

Après cet appel j'ai finalement vu mes messages d'information:

log.setLevel(Level.INFO); 

Mais il est toujours pas clairement - pourquoi info-messages n'étaient pas représentés. manual états de Google:

Tout le servlet écrit dans le flux de sortie standard (System.out) et flux d'erreur standard (System.err) est capturé par App Engine et enregistré dans les journaux d'application. Les lignes écrites dans le flux de sortie standard sont enregistrées au niveau "INFO" et les lignes écrites dans le flux d'erreurs standard sont enregistrées au niveau "WARNING".

+0

Je vais essayer ça si ça marche vraiment. –

+5

Excepté cette décision, j'ai trouvé un autre moyen - essayez d'éditer le fichier WEB-INF/logging.properties. Il a seulement une chaîne - vous devriez chahge le niveau d'AVERTISSEMENT à l'INFO (ou quelque peu autrement) – Alexander

27

pourrait-il que votre logging.properties est le réglage de la valeur par défaut à WARNING?

La nôtre a ceci dans notre fichier war/WEB-INF/logging.properties:

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

# Default level for subpackages of 'server' will be INFO 
com.company.whatever.server.level=INFO 
+1

Merci beaucoup. Je suis coincé dans une heure parce que cette chose stupide ... – KimKha

8

eu exactement le même problème et après avoir changé la valeur logging.properties de

.level = ATTENTION

à

.level = INFO

Le pr oblem était définitivement fixé. Google doit mettre à jour sa documentation et/ou modifier la valeur du paramètre par défaut afin que les messages du journal "INFO" ne soient pas avalés.

+0

D'accord avec le sentiment Google doc. Et, pour élaborer, les différentes pièces dépendantes doivent être documentées avec tout l'exemple de code, la configuration, etc. – mobibob

+0

Cela fonctionne, mais POURQUOI cela fonctionne-t-il? – Micro

0

J'utilisé pour définir LEVEL-SEVERE pour tester

logger.log(Level.SEVERE, "test message"); 

Il n'a pas besoin de changer de valeur dans l'exploitation forestière.propriétés