2010-01-16 13 views
7

rozwijam na 5 różnych projektach szyn, a także refaktoryzuję niektóre (przechodząc ze starszych wersji szyn do wersji 2.3) - jaki jest najlepszy sposób wyodrębnienia informacji o błędach z plików dziennika, więc mogę zobacz wszystkie ostrzeżenia o amortyzacji, błędy środowiska wykonawczego itd., więc mogę popracować nad ulepszeniem kodu?wyodrębnianie informacji o błędach z plików dziennika szyn

Czy istnieją jakieś usługi lub biblioteki, które można polecić, które faktycznie pomagają w analizie plików logów?

Odpowiedz

7

Przeczytaj o komendzie Linuksa grep.

http://www.cyberciti.biz/faq/howto-use-grep-command-in-linux-unix/

Nie wiem jaki błąd log format jest w Rails, ale gość każdy wiersz z ostrzeżenia lub błędu zawierają „ostrzeżenie” lub „error” słowo.

to byłoby tak:

grep -E "error|warning" logfile.txt

błędu bot i ostrzeżenia

grep "error" logfile.txt

błędów

grep "warning" logfile.txt

ostrzeżeń

i jeśli chcesz zobaczyć nowe błędy i ostrzeżenia w czasie rzeczywistym, spróbuj tego

tail -f logfile.txt | grep -E "error|warning"

tail -f logfile.txt | grep "error"

tail -f logfile.txt | grep "warning"

Nadzieja mogę pomóc;) A Mam nadzieję, że nie myliłem się co do formatu logów w Railsach

+0

ok, właśnie wypróbowałem podstawowe wyliczenie, jak parsować pliki logów szyn, które wydają się działać: (Przetwarzanie. *?) (\ N \ n \ n | \ z) - to rozdzielanie żądań na przetwarzalne fragmenty. .. – z3cko

+0

Ach, przepraszam. Myliłem się co do formatu plików dziennika rails. – kjagiello

+4

Naprawdę chcesz ** - ** (po kontekście) lub ** - C ** (zarówno przed i po kontekście) linii includer w twoich instrukcjach grep, więc dostaniesz również ślad. Na przykład: grep -C7 -E "error | warning" logfile.txt – Tsagadai

1

Używam hoptoadapp, http://www.hoptoadapp.com/pages/home jest wolny smak, loguje komunikaty o błędach do ich bazy danych i zapewniają łatwy w użyciu interfejs. Wszystko, co musisz zrobić, to zainstalować tę wtyczkę: http://github.com/thoughtbot/hoptoad_notifier.

Nie pomoże to w przypadku błędów z przeszłości, ale świetnie nadaje się do izolowania problemów z aktualnie uruchomioną aplikacją.

+0

dzięki za wskaźnik, wygląda to na naprawdę przydatną aplikację internetową. Zajrzę do tego. – z3cko

3

Znalazłem projekt request-log-analyzer, który jest bardzo przydatny.

Możesz mieć pewność, że dziennik znajdzie błędy i je zrzuci, ale to znakomita robota, polegająca na zebraniu wszystkich informacji o różnych działaniach i czasie ich pobierania.

Oto niektóre sample output.

To jest pierwsza rzecz, którą uruchamiam, gdy dostaję telefon mówiąc "moja strona jest wolna i potrzebuję pomocy w jej naprawieniu".

Funkcja Hoptoad i/lub wyjątkowa doskonale nadają się do bieżących błędów, ale nie śledzą żądań uruchomienia dziennika. Coś w stylu New Relic jest na to dobre.

+0

świetnie! bardzo za to dziękuję. po wyszukaniu zapytania-log-analizatora znalazłem także więcej rejestrowania railsów: http://whynotwiki.com/Rails_/_Performance http://jacqueschirag.wordpress.com/2008/10/15/rails-log-analyzers/ – z3cko

Powiązane problemy