import java.io.IOException; import java.sql.Time; import java.text.Format; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.FileHandler; import java.util.logging.Formatter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; public class JournalisationHTML { 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 traiteur pour afficher le message dans une fenetre. try { FileHandler file=new FileHandler("Log.html"); file.setFormatter(new HTMLFormat()); logger.addHandler(file); } catch (SecurityException e) { } catch (IOException e) { } // 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..."); } } class HTMLFormat extends Formatter { // Méthode qui reçoit événement puis le format en chaine de // caractères. public String format(LogRecord rec) { StringBuffer buf = new StringBuffer(1000); //Categorie de l'événement buf.append("
| Niveau | Date et Heure | Source | Message |