import java.util.logging.Filter; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; public class JournalisationFiltre { public static void main(String args[]) { //De manière générale on peut dire qu’il y a un Logger par domaine fonctionnel. //souvent associé à la notion de package et portant le nom de ce package. Logger logger = Logger.getLogger("Journalisation"); //Ajouter un filtre logger.setFilter(new Filter(){ // Redéfinir la méthode isLoggable de l'interface Filter pour filtre // tous les événements ayant comme messages "!" public boolean isLoggable(LogRecord event) { if(event.getMessage().equals("!")) return false; return true; } }); // Trace dans du code courant logger.log(Level.INFO, "!"); try { int i = 15 / 0; System.out.println("Result: " + i); } catch (ArithmeticException exc) { // Trace dans d'une exception // ne remplace pas necessairement toutes les actions a prendre logger.log(Level.SEVERE, exc.getMessage()); } // methode dérivée commodes d’acces logger.warning("ressource manquante..."); } }