Bonjour,
J'ai crée dans ma classe main de mon projet l'attribut suivant :
Ce n'est pas très propre d'avoir un attribut public, mais je souhaitais pouvoir utiliser le même logger pour toutes mes classes et donc pas à réinstancier le handler après systématiquement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /*---------------------------*/ /* Declaration des Attributs */ /*---------------------------*/ public static Logger aJournal = Logger.getLogger("ReferentielDesFlux");
Puis voici un bout de code dans l'opération main, pour récupérer la log dans un fichier : C:\TEMP\referentiel\log\TraitementReferentielFlux.log
le fichier C:\TEMP\referentiel\log\TraitementReferentielFlux.log, se rempli corretement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 // Déclaration des objets locaux String l_encodage = null; String l_nomLongFichierLog = null; String l_nomLongFichierLog = null; Handler l_handlerFichier = null; FichierParametre l_fichierParametre = new FichierParametre("ressources/parametres.properties"); ... // Recupération du nom du fichier des log l_nomLongFichierLog = l_fichierParametre.getaHashStockageParametre().get("nomFichierLog"); // Le fichier des log est recrée (false) l_handlerFichier = new FileHandler(l_nomLongFichierLog, false); // Association au Handler du formatage de message personnifié l_handlerFichier.setFormatter(l_formatageDesLog); // Le fichier en sortie doit être encodé en UTF-8 l_handlerFichier.setEncoding("UTF-8"); // l_handlerFichier.setEncoding("CP1252"); // Association du logger au Handler aJournal.addHandler(l_handlerFichier); // Mise à jour du niveau de message à ALL : tous les niveaux sont imprimés // Ici je mets le niveau de message à INFO : seul les message de niveai INFO et supérieur seront // imprimé dans la log aJournal.setLevel(Level.INFO); ...
MAIS lorsque j'execute mon programme sous Eclipse, je suis surpris de voir que dans la console eclipse, je n'ai qu'un peu près les 70 premières lignes de la log qui se remplie, puis plus rien !
Le fichier log TraitementReferentielFlux.log lui se rempli correctement.
Pourtant le fichier propreties de la JRE : C:\Program Files\Eclipse_DEV\Jdks\jdk1.8\jre\lib\logging.properties
est bien rempli pour le ConsoleHandler de la manière suivante :
Est ce que quelqu'un aurait une idée ?...
# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.limit = 50000
# java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# java.util.logging.ConsoleHandler.formatter = java.util.logging.XMLFormatter
# java.util.logging.ConsoleHandler.formatter = %1$tF %1$tT [%4$-7s][%2$s] %5$s %6$s%n
java.util.logging.ConsoleHandler.formatter = com.inetpsa.traitementreferentielflux.log.FormatageDesLog
...
Par avance merci.
Bien à vous.
Partager