Loggers en Java

Logger (1/3)

L'API Java propose un système de gestion des logs simple d'utilisation java.util.logging.

public class Example {
    private static final Logger logger = Logger.getLogger(Example.class.getName());
    
    public static void main(String[] args) {
        logger.info("hello logger");
        logger.warning("it is just an example.");
        try {
            throw new IOException("boom");
        } catch (IOException e) {
            logger.log(Level.SEVERE, "oops", e);
        }
    }
}

Logger (2/3)

Les logs sont affichés dans la console. On peut configurer l'affichage et / ou écrire les logs dans un fichier.

Jan 25, 2018 7:57:34 PM fr.upem.net.buffers.LoggerExample main
INFOS: hello logger
Jan 25, 2018 7:57:34 PM fr.upem.net.buffers.LoggerExample main
AVERTISSEMENT: it is just an example.
Jan 25, 2018 7:57:34 PM fr.upem.net.buffers.LoggerExample main
GRAVE: oops
java.io.IOException: boom
    at fr.upem.net.buffers.LoggerExample.main(LoggerExample.java:15)

Vous pouvez ne pas afficher les messages INFO.

logger.setLevel(Level.WARNING);

Logger (3/3)

Le logger propose plusieurs niveaux de logs :

  • SEVERE
  • WARNING
  • INFO
  • FINE, FINER, FINEST

Attention les niveaux FINE, FINER et FINEST ne sont pas accessibles par défaut.
Vous pouvez utiliser INFO pour les messages de debug.