Option d'impression de la trace de la pile en Java
Je suis entrain de créer une application java dans lequel il ya une possibilité que des exceptions pourraient être jetés. Je suis de la manipulation de ces exceptions dans un bloc try-catch et l'impression des messages appropriés afin que les utilisateurs n'ont pas à voir la vilaine trace de la pile en cas de panne.
Mais maintenant, quand je debug, je voudrais invoquer le fichier JAR de telle manière qu'il permet d'imprimer les traces de la pile pour moi, afin que je puisse savoir exactement où se trouve le problème.
Quelqu'un peut-il m'éclairer sur la façon dont cela peut être réalisé?
Êtes-vous à l'aide d'un enregistreur? Ou tout simplement
System.out.println
appels?OriginalL'auteur aa8y | 2012-09-12
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas utiliser les niveaux d'enregistrement.?
DEBUG pour vos erreurs techniques
et INFO ou ERREUR avec les codes que vos utilisateurs à comprendre.
log.warn("My nice error message"); log.info("More "+technical+" details "+e.getMessage()); log.debug(exception);
Ce n'était pas exactement ce que je cherchais, mais il est assez proche. Merci pour la réponse 🙂
OriginalL'auteur Ajay George
Vous pouvez utiliser slf4j comme une façade pour être en mesure de modifier rapidement les implémentations et logback que la mise en œuvre de votre enregistrement. La combinaison de slf4j et logback sont actuellement un très efficace système de journalisation. Dans le cas où vous souhaitez utiliser une autre application telle que log4j, JDK 1.4 ou Jacarta Commons logging vous pouvez simplement modifier le pot de la mise en œuvre(de liaison) avec celui que vous voulez. Il s'ensuit un rapide manuel de l'utilisateur comment utiliser slf4j avec logback.
Configuration De Votre Environnement
Tout d'abord, vous devez importer le nécessaire pots qui sont nécessaires à l'utilisation de slf4j.
Eclipse Guide
Aller à votre projet dans eclipse et faites un clic droit sur elle. Sélectionnez Propriétés.
À partir du panneau de gauche, sélectionnez Java Build Path
Sélectionnez Bibliothèques onglet
Cliquez Sur Ajouter Des Pots
Localiser votre extraites des dossiers et ajouter logback-core-1.0.7.jar, logback-classic-1.0.7.jar de la logback-1.0.7 dossier et slf4j-api-1.7.0.jar de la slf4j-1.7.0 dossier. Cliquez sur ok pour revenir au projet.
Netbeans Guide
Aller à votre projet dans Netbeans et faites un clic droit sur elle. Sélectionnez Propriétés.
À partir du panneau de gauche, sélectionnez Bibliothèques
Sélectionnez Compiler onglet
Cliquez Sur Add Jar/Folder
Localiser votre extraites des dossiers et ajouter logback-core-1.0.7.jar, logback-classic-1.0.7.jar de la logback-1.0.7 dossier et slf4j-api-1.7.0.jar de la slf4j-1.7.0 dossier. Cliquez sur ok pour revenir au projet.
À l'aide de la structure de journalisation
Tout d'abord, vous devez importer les dépendances nécessaires:
Chaque catégorie que vous souhaitez connecter doivent avoir un privé logger:
En ayant un enregistreur séparé pour chaque classe vous offrir plus de flexibilité et facilite le changement de vos niveaux de journalisation(WARN,ERROR,INFO,DEBUG).
Selon le niveau de journal qui souhaiteraient utiliser vous devez avoir
Il y a aussi la possibilité d'utiliser une méthode plus complexe appels dependening sur vos besoins. Par exemple, si vous souhaitez déboguer et de montrer également la stacktrace vous devez utiliser
Par exemple:
Paramètres avancés de logback
Afin d'avoir une version plus avancée du système d'enregistrement, vous devez créer un fichier supplémentaire qui va contenir l'ensemble de la configuration de la journalisation. Pour cet exemple je vais utiliser l'logback.xml. Pour plus d'informations concernant les différents fichiers de logback veuillez vous référer à logback de configuration.
À ce stade, vous devez créer un dossier nommé les ressources et l'ajouter dans le buildpath de votre projet.
Eclipse Guide
Créer un dossier nommé ressources(Vous devez voir le dossier de votre projet)
Aller à votre projet dans eclipse et faites un clic droit sur elle. Sélectionnez Propriétés.
À partir du panneau de gauche, sélectionnez Java Build Path
Sélectionnez Source onglet
Cliquez Sur Ajouter Un Dossier
Cochez le dossier de ressources que vous avez créé et cliquez sur ok. Cliquez sur ok pour revenir au projet.
À ce stade, vous devriez voir le dossier de ressources comme un paquet.
Netbeans Guide
Créer un dossier nommé ressources(il ne sera pas visible encore sur les projets de vue..ce n'est que dans la vue fichiers)
Aller à votre projet dans Netbeans et faites un clic droit sur elle. Sélectionnez Propriétés.
À partir du panneau de gauche, sélectionnez Sources
Dans le paquet Source de dossiers cliquez sur Ajouter un Dossier.
Sélectionnez le ressources dossier et cliquez sur ok.
Vous devriez voir le dossier créé comme un paquet.
Ce qui suit s'applique à la fois Eclipse et Netbeans.
À l'intérieur logback.xml placer la balise suivante.
La configuration ci-dessus contient 2 différents appenders,l'un dans la console, l'autre dans un fichier nommé log.txt. Le fichier sera placé dans un dossier nommé journal. Dans le cas où le dossier du journal n'existe pas va être créé automatiquement.
Le modèle que vous allez utiliser dépend de vous et comment instructif, vos messages seront.
Dans la configuration actuelle de la console appender est moins descriptive et ne montre que le niveau d'enregistrement et le message, en comparant le fichier appender qui contient le niveau d'enregistrement du nom de thread, nom de la classe, le temps et le message. Le ajouter de la valeur est définie sur false dans le but de créer un nouveau fichier journal après chaque exécution de votre application.
La configuration ci-dessus utilise 2 types de systèmes de journalisation pour le même forfait. Le premier enregistreur imprime uniquement les messages d'infos dans la console et le deuxième enregistreur imprime les messages de débogage dans un fichier. Ceci est réalisé en utilisant le filtre est placé à l'intérieur de la appenders.
Il existe de nombreuses façons d'utiliser les appenders et les bûcherons et cela dépend de vos besoins et de la complexité de votre programme. En fonction de la situation que vous avez décrite, je crois que la solution ci-dessus pourrait répondre à vos besoins.
P. S. Pour plus de définitions descriptives et plus de configurations avancées, vous pouvez consulter la Logback manuel
OriginalL'auteur Konstantinos Margaritis
de telles choses sont souvent traités avec les bûcherons et les différents niveaux de journal.
Vous typiquement avez 3 niveaux de journal, en général, les journaux, les avertissements et les erreurs.
Lors de la sortie à vous de décider de niveau un message est
lorsque vous démarrez votre application, vous pouvez dire à votre loggger quel niveau il doit afficher.
Pour vos utilisateurs ce sera d'ERREUR, seule la pire des choses doit être visible, pour vous-même, vous serait sortie de tout
OriginalL'auteur Peter
créer deux classes avec le même package/nom à deux endroits différents
et
lors de la compilation de votre programme java, ne mettre que l'un de ces chemins dans votre sourcepath
OriginalL'auteur Pierre