Bonjour,
Dans mon application, j'utilise la classe Logger pour gérer la console (ou éventuellement un fichier log) :Tout marche bien, sauf lorsque dans une exception, je fais "exception.printStackTrace();" : j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void extrait() { // NLogger est une classe qui étend Logger this.logger = new NLogger("name", null); // NLogFormateur est une classe qui étend Formatter Handler handler = new StreamHandler(System.out, new NLogFormateur()); this.logger.addHandler(handler); }
où un retour à la ligne manque entre le texte loggé "log" et le début du printStackTrace().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 log lognoyau.exception.NEcritureException: message derreur at noyau.ressources.NEcriture.exécuter(NEcriture.java:386)
J'ai essayé les codes suivants :mais rien à faire, il ne passe ni dans le formatteur, ni dans les méthodes "standard" du logger (info,fine(r)(st),config,warning et severe). Et comme je n'arrive pas à tracer pas à pas, en debug, les appels du PrintStream "System.err", je n'arrive pas à comprendre comment corriger mon problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 System.setErr(System.out); this.logger.addHandler(new StreamHandler(System.err, new NLogFormateur()));
Quelqu'un aurait-il une idée ?
Partager