2017-06-09 2 views
-1

Je travaille sur une application Eclipse existante. Et toutes les exceptions sont imprimées avec un e.printstacktrace(). Je voudrais savoir s'il est possible d'imprimer les exceptions dans un fichier journal uniquement en ajoutant des arguments VM ou des arguments Eclipse dans le fichier INI. Je voudrais ne pas changer tous les printstacktrace() du programme.Comment configurer l'application java pour écrire printstacktrace dans un fichier sans changer de code?

Merci pour vôtre réponses

+0

trop large. Vous pouvez regarder dans rediriger le flux d'erreur standard. – GhostCat

+0

Exécuteriez-vous également votre programme via eclipse sur la production? Ou vous voulez juste pour le but de débogage? –

+0

Je voudrais produire le fichier journal avec la version produite de l'application eclipse seulement – Joss29

Répondre

0

Essayez cette

FileOutputStream fos = new FileOutputStream(new File("log.txt")); 
PrintStream ps = new PrintStream(fos); 
printstacktrace(ps); 
+0

Mais je dois le faire pour toutes les exceptions. Je voudrais l'éviter – Joss29

+0

C'est pourquoi vous devriez utiliser le cadre de journalisation comme logback ou log4j et au lieu d'imprimer des exceptions directement. vous devriez les enregistrer en utilisant l'API de ces frameworks. vous pouvez choisir si vous souhaitez vous connecter à la console ou au fichier - ou peut-être ignorer certains messages. Cadre de journalisation vous donner ces installations. –

+0

C'est ce que je ferais si j'avais commencé le projet, mais maintenant je devrais changer toutes les exceptions existantes. Existe-t-il un moyen de corriger automatiquement toutes les traces d'impression? – Joss29