2010-02-24 15 views
7

Mamy kilka aplikacji, które używają log4j do rejestrowania. Muszę uzyskać działający parser log4j, abyśmy mogli łączyć wiele plików dziennika i uruchamiać zautomatyzowaną analizę. Nie zamierzam wymyślać koła, więc czy ktoś może wskazać mi porządny, istniejący parser? Mam wzór konwersji log4j, jeśli to pomaga.Analizowanie pliku dziennika log4j

Jeśli nie, będę musiał rzucić własną.

Odpowiedz

8

Nie zdawałem sobie sprawy, że log4J jest dostarczany z aplikacją XML.

Soltuion był: w aplikacji konfigurującej rejestrowanie podaj xml, dołącz plik wyjściowy xml jako encję do dobrze utworzonego pliku xml, a następnie spróbuj xml za pomocą ulubionej techniki.

Inne metody miały następujące ograniczenia:

  • Chainsaw - nie zautomatyzowany wystarczająco
  • jdbc - Słaba wydajność w wysokiej wydajności rozprowadzane aplikacja
2

To, czego szukasz, to SawMill lub coś podobnego do niego:.

+1

+1 za link. Należy wspomnieć, że Tartak nie jest wolny. –

1

Pliki dziennika Log4j nie nadają się do analizy, są zbyt złożone i niestrukturyzowane. Istnieją narzędzia firm trzecich, które mogą to zrobić, jak sądzę (np. Sawmill).

Aby przeprowadzić automatyczną, niestandardową analizę dzienników, należy rozważyć rejestrację w bazie danych i jej analizę. JDBC jest dostarczany z JdbcAppender, który dołącza wszystkie wiadomości do wybranej bazy danych, ale ma wpływ na wydajność i jest nieco niestabilny. Istnieją jednak alternatywne alternatywy w interweb (np. this one).

0

-can- użyć log4j za Chainsaw V2 przetwarzać różnych plików dzienników i zebrać je w jednej tabeli, a każda moc te wydarzenia jako XML lub użyć wbudowanego filtrowania ekspresji opartej na poszukiwaniu & kolorowanie wsparcia Chainsaw do krojenia & kości w dziennikach.

Kroki: - Początek Chainsaw V2 - Tworzenie pliku konfiguracyjnego łańcuchowa kopiując plik przykład konfiguracji dostępne w zakładce powitalnej - zdefiniować jeden LogFilePatternReceiver „wtyczki” wpis dla każdego pliku dziennika, który chcesz przetworzyć - Początek Chainsaw z tą konfiguracją - Każdy plik dziennika kończy się jako osobna zakładka w interfejsie użytkownika - Zatrzymaj kartę rejestru zdarzeń i wyczyść zdarzenia z tej zakładki - Utwórz nową kartę, która będzie agregować zdarzenia z różnych kart, przechodząc do element menu "widok, skrzynia niestandardowego wyrażenia logpanela" i wprowadź w polu "poziom> = DEBUG". Utworzy on nową zakładkę zawierającą zdarzenia ze wszystkich kart z poziomem> = debugowanie (dlatego wyczyściłeś zakładkę dziennika piły łańcuchowej).

Można uzyskać przegląd składni wyrażeń używanych do filtrowania, kolorowania i wyszukiwania z samouczka (dostępnego z menu Pomoc).

Jeśli nie chcesz używać Piły łańcuchowej, możesz zrobić coś podobnego - uruchom prostą aplikację, która nie loguje się, ale wczytuje plik konfiguracyjny log4j.xml z wpisami "wtyczki" zdefiniowanymi dla konfiguracji Piły łańcuchowej, ale zdefiniuj także FileAppender z xmllayout - wszystkie zdarzenia odebrane przez 'Receiver' zostaną wysłane do pojedynczego appendera.

3

można użyć OtrosLogViewer z batch processing. Trzeba:

  1. Definiowanie formatu logowania, można użyć Log4j pattern layout parser lub Log4j XmlLayout
  2. Tworzenie klasy java, który implementuje LogDataParsedListener. Metoda public void logDataParsed (dane LogData, kontekst BatchProcessingContext) będzie wywoływana w każdym przetworzonym zdarzeniu dziennika.
  3. Utwórz słoik
  4. Uruchom OtrosLogViewer, określając słoik przetwarzania dziennika, implementację LogDataParsedListener i pliki dziennika.
Powiązane problemy