Rendre les messages de journal visibles sur le serveur de développement Java GoogleAppEngine (utilisé avec GWT)

J’utilise java.util.logging.Logger pour me connecter à mon application Java GoogleAppEngine. Cela fonctionne parfaitement lorsque l’application est déployée. Cependant, je ne parviens pas à voir mes messages de journal lors de l’exécution de mon application sur le serveur de développement.

Principaux détails supplémentaires:

  • J’exécute le serveur de développement du moteur d’applications dans le conteneur en mode de développement GWT, mais pas de manière autonome.
  • J’ai un logging.properties configuré, bien qu’il semble ne faire aucune différence (il fonctionne correctement en production avec ou sans le logging.properties, et il ne fonctionne pas en développement avec ou sans le logging.properties).
  • Si j’utilise System.out.println sur le serveur de développement, cela est envoyé au terminal à partir duquel j’ai exécuté le conteneur en mode de développement GWT. Évidemment, cette solution de contournement est utilisable, mais j’aimerais que la journalisation fonctionne uniquement en mode de développement et en mode de production.

La journalisation a-t-elle fonctionné en mode développement (avec ou sans l’utilisation de AppEngine en conjonction avec le conteneur en mode de développement GWT)? Y a-t-il une incantation magique dont j’ai besoin pour voir ma sortie de journalisation?

J’ai eu le même problème hier, mais maintenant cela fonctionne pour moi.

Je ne suis pas sûr du changement, mais je vais publier ma configuration ci-dessous pour que vous puissiez l’essayer (avec GAE 1.3.8, pas de GWT, mais cela ne devrait pas être important).

Veuillez noter que les journaux apparaîtront dans la fenêtre de la console (parmi les autres journaux du serveur). Je ne suis pas sûr que vous puissiez le faire consigner dans des fichiers car le serveur est exécuté dans une sorte de sandbox. J’ai seulement testé cette configuration dans mon environnement local, non téléchargé.

WEB-INF / appengine-web.xml:

         

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"%>     <% Logger logger = Logger.getLogger("org.whatever.Logtest"); logger.info("logtest info"); logger.warning("logtest warning"); logger.severe("logtest severe"); %>  Check the console for logging   

Modifiez votre fichier WEB-INF / logging.properties.

Ajouter

  .level=INFO 

Assurez-vous que les bonnes classes et le bon niveau de journalisation sont configurés dans votre fichier 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