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
|
logger = Logger.getLogger("CAFE");
//ici tu défini a partir de quel niveau tu souhaite logger
logger.setLevel(Level.FINEST);
//petite méthode pour virer les handler par défaut de l'API logging
logger.setUseParentHandlers(false);
Handler fh = null;
try {
//Je crée ici un handler qui log tout ce qui a un level à partir du level INFO
fh = new FileHandler("./cafe_log/CAFE.log",false);
fh.setLevel(Level.INFO);
fh.setFormatter(new XMLFormatter());
logger.addHandler(fh);
//Ici un handler qui log qu'a partir du Level WARNING
Handler fhw = new FileHandler("./cafe_log/CAFE_warning.log",false);
fhw.setLevel(Level.WARNING);
fhw.setFormatter(new SimpleFormatter());
logger.addHandler(fhw);
//Pour l'affichage dans la console j'utilise un handler maison
mh = new MyHandler();
logger.addHandler(mh);
avec :
public class MyHandler extends StreamHandler {
/**
* Constructeur par défaut
*/
public MyHandler() {
super();
this.dl=dl;
}
/**
* Surcharge de la méthode de publication du flux vers sa sortie
*/
public void publish(LogRecord record) {
super.publish(record);
//Ici le Level a partir duquel je souhaite afficher dans ma console
if(record.getLevel().intValue()>=MyLevel.WARNING.intValue()){
System.out.println(record.getMessage());
}
flush();
}
/**
* Fermeture du Handler
*/
public void close() {
flush();
}
} |
Partager