Bonjour,
Je m'interroge sur les bonnes pratiques de l'utilisation du de Java Logging API.
Durant le cours, j' ai retenu que :
- Il faut bannir system.out.println() pour le remplacer par un log de type Level.INFO
- logger dans un fichier externe. L'ingénieur système peut avoir besoin de ces logs.
Durant le premier test, j'avais une solution du style :
Le code fonctionne, mais j'ai reçu une insuffisance. Il paraît qu'il faudrait faire entre 2 et 3 classes en réalité. J'ai donc retravaillé et produit le code ci-dessous :
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 public class Application { public static void main(String[] args) { Logger logger = null; try { //Configuration du logger FileHandler out = new FileHandler("C:\\Temp\\Log\\log1.xml"); logger = Logger.getLogger(src.uni.presentation.Application.class.getName()); logger.setLevel(Level.INFO); logger.addHandler(out); //utilisation du logger logger.log(Level.INFO, "Hello world"); } catch (IOException ex) { logger.log(Level.SEVERE, null, ex); } } }
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 public class Logging { private final String fichier = "C:\\Temp\\Log\\log.xml"; public Logging(){} public Logger getLogging(Class classe) throws IOException { FileHandler out = new FileHandler(fichier); Logger logger = Logger.getLogger(classe.getName()); logger.setLevel(Level.INFO); logger.addHandler(out); return logger; } }Pour ceux qui ont de l'expérience, qu'en pensez-vous. Comment puis-je améliorer mon code ? Merci
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 public class Application { public static void main(String[] args) { Logger logger = null; try { Logging log = new Logging(); logger = log.getLogging(src.hearc.app.Application.class); logger.log(Level.INFO, "Hello World - info"); logger.log(Level.SEVERE, "Hello World - Severe"); //Ne sera pas afficher car SETLevel(Level.INFO) logger.log(Level.FINE, "Hello World - Fine"); } catch (IOException ex) { logger.log(Level.SEVERE, null, ex); } } }
Partager