Filtrowanie zduplikowanych logów

Filtrowanie zduplikowanych logów
VO
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:43
0

Mam taki problem że logowanie exceptionów w przypadku dłuższego czasu awarii np bazy zapycha mi dysk logami.
Używam Logbacka. Pytanie czy jest jakaś implementacja filtra dla logów który będzie działał w taki sposób -> zaloguje max 4 takie same logi w przeciągu 30 sekund. Po upływie tego czasu jeśli dalej leci taki błąd to znowu go zaloguje i 30 sekund przerwy itd.

Próbowałem juz trubofilter DuplicateMessageFilter ale tam niestety jak już raz log trafi do cache to nie zaloguje go ponownie.

VO
Niestety to nie to, problem jest ze mamy ciagly zapis i jak np odepniemy baze to w catch logujemy blad i tak przez caly czas jak nie ma bazy a chcemy to ograniczyc zeby log sie wpisywal co pewien czas
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Może sami je buforujcie po prostu? Czy to aż taki problem napisać sobie appender który zbiera logi w secie (albo w mapie jak chcesz liczyć ile razy coś wystąpiło) i np. flushuje co jakiś czas do pliku czy gdzieś? Albo przed zalogowaniem sprawdza sobie w jakimś secie z wygasajacymi czasowo entries (Guava chyba takie miała).


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:dzień
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
0

Zasadnicze pytanie to po co w ogóle je logujecie. Skoro tyle ich jest i jeszcze was użytkownicy nie powiesili to znaczy, że to nie są exceptiony godne logowania.

Może powinniście mieć detekcje, że bazy nie ma i kłaść wtedy serwis?


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 3x, ostatnio: jarekr000000
Charles_Ray
  • Rejestracja:około 17 lat
  • Ostatnio:około 9 godzin
  • Postów:1881
0

Może circuit breaker na bazę?


”Engineering is easy. People are hard.” Bill Coughran
VO
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:43
0

Mamy detekcje ze bazy nie ma wtedy aplikacja sie usypia i czeka bez walenia logami, ale problem jest taki ze zdarzylo sie ze był nagły reset servera i uszkodziło się kilka tabel ale baza stała. Wtedy watek ktory probowal do niej zapisac za kazdym razem dostawał błąd. Aplikacji nie mozemy całkowicie wygasić w takiej sytuacji bo musimy kolejkowac odebrane wyniki z zewnetrznych systemów. Dlatego padł pomysł aby zrobić jakieś filtrowanie w logerze. Z tego co wyczytałem to można dodać swój filtr do Logbacka. W sumie sytuacja dotyczy tez przy braku innych zasobów.

edytowany 2x, ostatnio: volau

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.