[java.util.logging]Bonne utilisation de logging?
Bonjour,
voilà, j'ai monté un objet de log pour mes exceptions. Je me demande si j'utilise bien le logging ou si au contraire je suis en train de monter une gouffre à performance...
Si quelqu'un à des conseils je suis preneur!
Code de mon objet:
Code:
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
|
package utile;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
public class LogError {
LogManager lm=null;
Logger logger=null;
FileHandler fh=null;
/**
* Constructeur de l'objet de suivi des log d'erreure
*/
public LogError(String objet){
try {
lm = LogManager.getLogManager();
fh = new FileHandler(objet+"_Exception.txt",true);
logger = Logger.getLogger(objet);
lm.addLogger(logger);
logger.setLevel(Level.ALL);
logger.addHandler(fh);
fh.setFormatter(new SimpleFormatter());
} catch (Exception e) {
}
}
public void severe(Exception exception){
logger.log(Level.SEVERE, exception.toString());
}
} |
Exemple d'utilisation:
Code:
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
package controleur;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import utile.ConnectBDD;
import utile.LogError;
public class Serveur {
private Properties configServeur=null;
private ConnectBDD connectionBDD=null;
private LogError logException=null;
/**
* Fonction main de lancement
* @param arg
*/
public static void main (String[] arg){
new Serveur();
}
/**
* Constructeur de la classe Serveur
*/
public Serveur(){
logException=new LogError(this.getClass().getName());
configServeur=this.lirePara("configserveur.pro");
connectionBDD=new ConnectBDD(configServeur);
}
/**
* Fonction pour lire le fichier de parametrage configserveur.pro
* @param fichier le fichier de parametrage
* @return les parametres de l'application
*/
public Properties lirePara(String fichier)
{
Properties prop=null;
FileReader file=null;
prop=new Properties();
try {
file=new FileReader(fichier);
prop.load(file);
file.close();
}catch(FileNotFoundException fnfe){
logException.severe(fnfe);
}catch(IOException ioe){
logException.severe(ioe);
}
return prop;
}
/**
* Fonction pour choisir le LookAndFeel de l'application
* @param nb le numero du LookAndFeel
*/
public void setLookAndFeels(int nb){
UIManager.LookAndFeelInfo[] info = UIManager.getInstalledLookAndFeels();
try {
UIManager.setLookAndFeel(info[nb].getClassName());
} catch (InstantiationException ie) {
logException.severe(ie);
} catch (ClassNotFoundException cnfe) {
logException.severe(cnfe);
} catch (UnsupportedLookAndFeelException ulafe) {
logException.severe(ulafe);
} catch (IllegalAccessException iae) {
logException.severe(iae);
}
}
} |
merci d'avance!