Przykład:
Klasa w której wywołujemy zapis logów:
package logi;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Log4jTest {
// inicjalizacja logera
static final Logger logger = Logger.getLogger(Log4jTest.class);
public static void main(String[] args) {
// plik konfiguracyjny
PropertyConfigurator.configure("log4j.properties");
// wywołanie logów
logger.trace("Info - TRACE");
logger.debug("Info - DEBUG");
logger.info("Info - INFO");
logger.warn("Info - WARN");
logger.error("Info - ERROR");
logger.fatal("Info - FATAL");
}
}
Plik konfiguracyjny "log4j.properties":#Ustalamy gdzie i jakie komunikaty beda wywolywane CA-konsola log4j.rootLogger=DEBUG, CA #Ustawienia dla konsoli log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout #Typ komunikatu log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %x - %m%nWyniki wypisany na konsoli:
1 [main] DEBUG - Info - DEBUG 2 [main] INFO - Info - INFO 2 [main] WARN - Info - WARN 2 [main] ERROR - Info - ERROR 2 [main] FATAL - Info - FATALZapisanie loga do pliku.
Zmieniamy plik konfiguracyjny „log4j.properties”
#Ustalamy gdzie i jakie komunikaty beda wywolywane CA-konsola log4j.rootLogger=DEBUG, CA, FA #Ustawienia dla konsoli log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %x - %m%n #Ustawienie dla pliku z logami log4j.appender.FA=org.apache.log4j.FileAppender log4j.appender.FA.File=plikzlogami.log log4j.appender.FA.layout=org.apache.log4j.PatternLayout log4j.appender.FA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n #Ustawiamy poziom od ktorego komunikaty maja pojawiac sie w pliku log4j.appender.FA.Threshold = WARNWyniki jakie otrzymamy w pliku. Plik „plikzlogami.log” stworzyliśmy w katalogu z projektem
1 [main] WARN logi.Log4jTest - Info - WARN 1 [main] ERROR logi.Log4jTest - Info - ERROR 2 [main] FATAL logi.Log4jTest - Info - FATALHierarchia komunikatów loggera od najmniej ważnego:
- TRACE,
- DEBUG,
- INFO,
- WARN,
- ERROR,
- FATAL
Wyjaśnienie konwencji zapisu:
''%d %5p %c{2}:%L - %m%n''
- %d – czas wystąpienia zdarzenia
- %p – poziom zdarzenia, (5 - liczba znakow dla pola)
- %c – nazwa loggera zdarzenia (liczba hierarchii od końca {x})
- %L – numer linii w pliku źrodłowym
- %m – opis zdarzenia
- %n – sparator linii zależy od platformy (\n lub \r\n)
Brak komentarzy:
Prześlij komentarz