Bij mijn eerste programmeer ervaringen in Java maakte ik gebruik van      statements voor het loggen c.q. debuggen van de onderhanden applicatie. Opzich een methode die werkt maar niet de handigste. Voor dit doel zijn er betere oplossingen en de meest gangbare is het gebruik van log4j. Dit is een open source logging oplossing van de Apache organisatie.    
System.out.println("Te loggen tekst in STRING formaat");
    
Recept voor gebruik log4j     
- Plaats het log4j-VERSION.jarbestand in het class pad van de applicatie.
- Configureer log4j middels het log4j.propertiesbestand voor log4j. Van dit bestand hoeft er maar één versie per applicatie aanwezig te zijn.
- Voeg aan iedere class die gelogd dient te worden eenLoggerobject toe.
- Gebruik dit Loggerobject om te loggen via de beschikbare methods (debug(),info(),warn(),error()enfatal()).
In onderstaande code zien we een voorbeeld van hoe log4j toegepast kan worden.
import java.sql.*;
import org.apache.log4j.*;
/**
* Eenvoudige connectie naar een MySQL database via een JDBC driver
*/
public class JDBCSample {
/* Creatie van een static logger variabele voor deze class */
static Logger log = Logger.getLogger("JDBCSample");
/* Vanaf nu kunnen we loggen. Methoden zijn: log.debug(boodschap),
* log.info(...), log.warn(...), log.error(...), log.fatal(...) */
public static void main(String[] args) {
try {
/* Laden van de JDBC driver */
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
/* Afhandelen van foutmeldingen */
log.fatal("Kan de opgegeven JDBC driver niet laden");
return;
}
}
}
Middels de configuratie van het log4j.properties bestand bepalen we hoe de uitvoer van onze logging geschied. In onderstaand voorbeeld loggen we alles naar de console.
# Set root category priority to DEBUG and set its only appender to A1
log4j.rootCategory=DEBUG, A1
# A1 is set to be a ConsoleAppender (writes to system console).
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Voor meer informatie over het configureren van hetlog4j.properties bestand zie het artikel "Don't Use System.out.println!".
Reacties