2011-10-03 18 views
6

Mam plik EAR złożony z archiwów ejb.jar.Konfiguracja log4j w EAR

Gdzie mogę/powinienem umieścić mój plik konfiguracyjny log4j.xml w moim pliku EAR, aby skonfigurować log4j dla różnych EJB?

Oto moja następującą strukturę:

myEar 
|-- myEjb1.jar 
|-- myEjb2.jar 
|-- myEjb3.jar 
|-- lib 
    | -- myLib1.jar 
    | -- myLib2.jar 

Dzięki z góry!

+0

Co masz na myśli mówiąc "skonfiguruj je dla różnych EJB"? Czy potrzebujesz różnych konfiguracji dla różnych słoików EJB? –

Odpowiedz

8

Jeśli log4j jest używane przez różne moduły w uchu, należy umieścić je w słoiku umieszczonym w katalogu lib ucha. Ale nie jest to bardzo wygodne, ponieważ będziesz musiał ponownie zmontować ucho i ponownie wdrożyć go za każdym razem, gdy zmienisz poziom dziennika.

Inną opcją jest umieszczenie pliku konfiguracyjnego log4j w folderze i dodanie tego folderu w ścieżce klasy ucha. Większość serwerów aplikacji udostępnia tę funkcję (na przykład WebSphere). Jest mniej przenośny, ale łatwiejszy w zarządzaniu: konfiguracja może zostać zmieniona bez ponownego instalowania ucha.

5

Wyprostujmy to: jest tylko jeden log4j dla aplikacji korporacyjnej, niezależnie od tego, z ilu EJB się składa. Podobnie jest tylko jeden plik konfiguracyjny. Jeśli chcesz skonfigurować go dla różnych EJB, możesz użyć odpowiednio nazwanych rejestratorów w kodzie EJB i zarządzać nimi w jednym log4j.xml.

Laurent ma kilka interesujących porad dotyczących tego, gdzie je umieścić (+1).