Konfiguracja Log4j
Konfiguracja Log4j
Log4j to biblioteka która umożliwia tworzenie logów dla aplikacji napisanych w Javie. Pierwsze wydanie miało miejsce w 2007 roku. Wersja 1.2 uznawana jest za wersję stabilną, wersja 1.3 nie jest dalej rozwijana natomiast wersja 2.0 jest w fazie rozwoju i testów. Log4j zakłada 3 typy obiektów, są to Loggery które odpowiadają za tworzenie logów i nadawanie im odpowiednich priorytetów, Appendery które odpowiadają za to gdzie logi mają trafić oraz Layout’y czyli wygląd tworzonych logów. Zaczynamy od projektu opartego o mavena i dodania zależności do pliku konfiguracyjnego pom.xml:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
W pliku ./src/main/resources/log4j2.xml zamieszczamy opis konfiguracji logów:
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue} %logger{36} - %msg%n"/> </Console> </Appenders> <Loggers> <Root level="INFO"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration>
Powyższy wpis opisuje to w jaki sposób logi na poziomie INFO mają być wyświetlane na standardowe wyjście. W miejscu w którym chcemy użyć mechanizmu logowania należy dodać:
final static Logger logger = Logger.getLogger(ShowBingoCardControllerWithForwardToJsp.class.getName());
oraz w miejscu w którym chcemy zalogować już konkretną informację należy dodać:
logger.info("numbers generated until bingo " + allGeneratedNumbers.toString());
Wynik będzie następujący:
16-Aug-2019 10:28:01.262 INFO [http-nio-8084-exec-5] controllers.ShowBingoCardControllerWithForwardToJsp.getWinner numbers generated until bingo [65, 1, 67, 6, 8, 72, 73, 15, 17, 18, 23, 25, 31, 33, 34, 37, 40, 41, 44, 48, 49, 52, 56, 57, 63]
Leave a comment