2010-09-18 20 views
1

J'ai DN 2.x sur Eclipse RCP (actuellement Helios).Comment enregistrer avec DataNucleus 2.x dans Eclipse

Je ne parviens pas Turning le DN LOG.

J'utilise log4j.properties, où je définir toutes les catégories DataNucleus LOG niveaux.

Il LOGS bien avec l'enhancer "externe" (je viens de passer l'argument sur les "Arguments VM" des configurations RUN -Dlog4j.configuration = fichier: "... \ log4j.properties"), mais peut ' t obtenir le journal pour travailler sur l'application principale ... essayé la même approche sans succès.

Toute personne utilisant DN avec éclipse?

Répondre

0

Je n'utilise pas DN. Donc, je ne peux pas résoudre votre problème directement. Je peux dire, en général, si vous avez une application utilisant Log4j, il va rechercher le classpath pour les fichiers nommés log4j.properties et log4j.xml. Dans votre cas, essayez de déplacer votre fichier log4j.properties vers un emplacement dont vous êtes sûr à 100% dans le classpath (comme le dossier racine de tous vos paquets).

À partir de là, si votre exploitation forestière se met en marche, alors vous savez que votre fichier de propriétés ne sont pas dans le chemin de classe. Cependant, si votre fichier est définitivement dans le classpath, alors le coupable est probablement quelque chose d'autre qui désactive la journalisation de l'application. Voyez-vous la journalisation du tout? Si non, alors c'est probablement le problème. À ce stade, vous devez déterminer quelle façade vous utilisez: apache commons ou SLF4J. Les deux ont le pouvoir de remplacer l'implémentation de l'enregistreur par des loggers NOOP, qui ignorent toutes les demandes de log.

Avec Commons, vous devez vérifier le fichier commons-logging.properties. Avec SLF4J, vous devez vérifier les dépendances du projet (généralement dans un répertoire lib quelque part), en vous assurant qu'il n'y a pas de pot NO-OP dans la liste.

+0

J'ai le log4j.properties à la racine du projet, et c'est sur le classpath. J'utilise Apache log4j-1.2.16.jar. Je ne trouve pas de config spécifique (comme commons-logging.properties), ou n'importe quel pot NO-OP: - \ J'ai essayé tout ce que je pouvais penser. – marcolopes

+0

@marcolopes: avez-vous essayé de mettre votre enregistreur en mode debug (en passant '-Dlog4j.debug' comme argument VM)? Cela affichera des informations sur le fichier de propriétés que log4j utilise pour se configurer. Si vous utilisez votre fichier de propriétés, comme prévu, le seul autre coupable est l'implémentation de Logger. C'est-à-dire que lorsque cette dépendance est injectée, la classe utilisée pour exécuter la journalisation ignore probablement toutes les demandes de journalisation. – gMale

+0

J'ai essayé toutes les suggestions, mais je n'ai même pas réussi à faire fonctionner le mode DEBUG. Je suis sûr que -Dlog4j.debug est sur les arguments du fichier produit du projet ... cela me rend fou! Où se trouve le fichier journal VM? – marcolopes