Skip to content

Logger avec niveaux de log et historique intégré pour un débuggage précis.

Notifications You must be signed in to change notification settings

hashtek-mc/hashlogger

Repository files navigation

📰 HashLogger

Classe qui permet d'écrire des éléments dans la console.

HashLogger est un logger fonctionnant avec un système de niveau, qui permet, à l'exécution, de filtrer l'importance de ce qui est affiché dans la console.

🇬🇧 Also available in English!

Niveaux de log ↗️

DEBUG, INFO, ERROR, WARNING, CRITICAL, FATAL

Utilisation

Code :

/*                ⬇️ Obligatoire pour logger quelque chose.                   */
public class Test implements HashLoggable {

  HashLogger logger = new HashLogger(this, LogLevel.INFO);
  /*                                  ⬆️ Demandé pour un ciblage plus simple. */

  public static void main(String[] args) {
  /*             ⬇️ Ciblage qui se fait ici.                                  */
    logger.debug(this, "Debugging log.");
    logger.info(this, "Information log.");
    logger.error(this, "Error log.");
    logger.warning(this, "Warning log.");
    logger.critical(this, "Critical log.");
    logger.fatal(this, "Fatal log.");
  }

}

Console :

HashLogger instance created. Log level: INFO

[Tekore: Test.java] <INFO> Information log.
[Tekore: Test.java] <ERROR> Error log.
[Tekore: Test.java] <WARNING> Warning log.
[Tekore: Test.java] <CRITICAL> Critical log.
[Tekore: Test.java] <FATAL> Fatal log.

Tip

Il est fortement recommandé de n'avoir qu'une seule instance de HashLogger dans votre programme.

Fonctionnalités

  • Affichage exact du timestamp du log.
logger.setShowTimestamp(true);
>>> [Tekore: Test.java] (02/02/2024 - 02:42:04) <ERROR> Error log.
  • Ecriture plus compacte.
logger.setShortDisplay(true);
>>> [Tekore: Test.java] <ERR> Error log.
  • Affichage d'une Exception (uniquement pour les niveaux de log ERROR, CRITICAL et FATAL).
...
} catch (Exception exception) {
    logger.critical(this, "Error while fetching data.", exception);
}
>>> [HashLogger: SQLManager.java] <CRITICAL> Error while fetching data.
    Exception at fr.hashtek.hashlogger.HashLogger [...]
  • Historique des logs
logger.getHistory(); // Renvoie une liste de HashLog
  • Couleurs !

Fait avec 💜 par Lysandre B.wakatime