LOG4J2

0

Używam Log4J2 w swojej aplikacji, mam skonfigurowanego loggera na poziomie klasy z poziomem info. Do pliku logują mi się wszystkie logi również te wygenerowane przez IDE, jak można skonfigurować Log4J2 aby logować tylko własne wywołania loggera? To co mi teraz przychodzi na myśl to utworzenie własnego poziomu logowania tak aby tylko te dane się odkładały ale jakoś średnio mi pasuje to rozwiązanie, czy jest jakiś inny sposób?

0

masz logi z IDE? To jakieś czary? Chyba czegoś tu nie rozumiem
wydaje mi się, że log4j2 ma takie samo działanie jak log4j, tylko poprawiony jest performance i dodali kilka ficzerów
tak z ciekawości, możesz wkleić jakiś log, gdzie masz wypisane logi z IDE?

0

Faktycznie chyba trochę nie jasno napisałem, chodziło mi o logi, które są generowane przy starcie aplikacji:

2018-04-04 21:07:35.366  INFO DESKTOP-8L039BI --- [           main] c.e.l.Log4jtestApplicationTests          : Starting Log4jtestApplicationTests on DESKTOP-8L039BI with PID 10524 
2018-04-04 21:07:35.369  INFO DESKTOP-8L039BI --- [           main] c.e.l.Log4jtestApplicationTests          : No active profile set, falling back to default profiles: default
2018-04-04 21:07:37.661  INFO DESKTOP-8L039BI --- [           main] c.e.l.Log4jtestApplicationTests          : Started Log4jtestApplicationTests in 2.529 seconds (JVM running for 4.398)
2018-04-04 21:07:37.868  INFO DESKTOP-8L039BI --- [           main] c.e.l.Log4jtestApplicationTests          : Debugging log

a chciał bym mieć tylko ostatni log, który wywołałem sam.

0

wszystko jest dobrze, możesz ustawić sobie jakiś własny profil, jak to wynika z tego loga - nie masz własnego profilu, to lecimy na default.
Wybierz sobie inny poziom logowania, żeby nie leciało jako INFO, bo faktycznie można oczopląsu dostać jak się czegoś szuka. Na własnych logach ustaw DEBUG albo TRACE i będzie dobrze.
Poza tym, jak Ci wszystkie logi zapisują się w pliku to jest to zaleta, a nie wada :)
Możesz zrobić customowy poziom logowania, ale nie wiem czy gra jest warta świeczki

0

Konfiguracja frameworka logowania polega głównie na określeniu poziomów logowania dla poszczególnych klas/pakietów.

logować tylko własne wywołania loggera

Rozumiem, że logowania własne + logowania obce z poziomem wyższym niż info. Czyli potrzebujesz tylko podniesienia poziomu logowania dla pakietu, który się wcisnął. Np. na warning. Niestety ta informacja jest trudna do wyszukania w przypadku log4j2 i konfiguracja zajmuje zadziwiająco dużo miejsca - 3 linijki, a w java.util.logging wystarcza jedna.

Podaję więc przykład, w formacie ini:

loggers = spring
logger.spring.name = org.springframework
logger.spring.level = debug

1 użytkowników online, w tym zalogowanych: 0, gości: 1