Comment émettre des messages de débogage à partir du code Java Xtext? J'utilise des terminaux synthétiques, donc ANTLRWorks ne suffira pas pour déboguer ma grammaire.Comment déboguer en Xtext avec log4j?
Répondre
Cela a fonctionné pour moi avec Xtext 2.10 et Eclipse 4.3.2 (Kepler). Dans votre principal projet Eclipse Xtext org.example.mydsl, modifier build.properties et assurez-vous que vous avez
additional.bundles = ...,\
org.eclipse.xtext.logging,\
org.apache.commons.logging,\
org.apache.log4j,\
...
Dans mon projet, il manquait org.eclipse.xtext.logging.
Dans votre code Java, utilisez la priorité "erreur"; "info" et "debug" seront supprimés.
import org.apache.log4j.Logger;
Logger.getLogger(MyClass.class).error("My message");
Assurez-vous d'inclure "-consoleLog" dans Run/Run Configurations .../XtextRuntime/Arguments/arguments du programme.
Les messages consignés apparaîtront dans la console XtextRuntime de l'instance parent, ainsi que dans la vue du journal des erreurs de l'instance enfant. Vous pouvez également les trouver dans l'instance enfant à partir de Aide/À propos de la plate-forme Eclipse/Détails de l'installation/Configuration/Afficher le journal des erreurs.
En utilisant xtend et en faisant de MyClass une classe xtend le code 'Logger.getLogger (MyClass.class) .error (" Mon message ")' ne fonctionne pas. Comment consignez-vous un message en utilisant xtend? – Johan