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