Pentru a ne fi mai usor sa urmarim proiectul, vom folosi logging.
Ca si librarie, vom utiliza log4j ( ultima versiune ).

In principiu, loggerul va trebui mai intai initializat. Va trebui sa specific daca utilizam un fisier, consola, samd. pentru a loga diverse informatii.
Fiecare clasa va trebui sa aiba o variabila statica de tipul Logger care trebuie initializata.

Exemplu.

public class Clasa2 {
 
 static Logger logger = Logger.getLogger(Clasa2.class);
 
 static{
 logger.addAppender(new ConsoleAppender(new PatternLayout("%-4r [%t] %-5p %c %x - %m%n")));
 }
Daca dorim logarea intr-un fisier, trebuie sa cream un FileAppender.

 PatternLayout pl = new PatternLayout("%-4r [%t] %-5p %c %x - %m%n");
 FileAppender fa = new FileAppender(pl, "log.txt",false);
 logger = Logger.getLogger(.class);
 logger.addAppender(fa);
Dupa ce am terminat cu declararea acestui logger, trebuie sa ii setam un nivel de logare. Acest lucru ne permite sa scrie log-urile si apoi sa controlam afisarea lor cu un singur switch.

logger.setLevel(Level.DEBUG);

Daca setam level-ul pe debug, ori de cate ori vom folosi loggerul vom scrie cu metoda debug:

 static void method(){
 logger.debug(Thread.currentThread().getStackTrace()[1].getMethodName());
 }

Vom adauga astfel de log-uri in functiile cele mai importante.