Logowanie zdarzeń i błędów

0

Cześć korzystam z sqlite3 , napisałem serwer który łączy się z moimi programami klienckimi i w osobnych wątkach działa na bazie sqlite.
Mam pytanie czy dla logowania błędów i zdarzeń utworzyć osobną bazę? czy tabela w głównej bazie da rade? Chodzi o czas wpisywania rekordu zdarzenia. Czy przyblokowanie bazy nie bedzie zbyt długie jeśli logi będę wpisywał do głownej bazy. Zapisy do bazy głównej klienci robią bardzo rzadko tzn kilkadziesiąt dziennie nadpisów komórek tabel natomiast odczyty zdarzają się kilkadziesiąt x na godzinę.

3

A może coś oddzielnego do logowania, Elastic search, Opensearch?

1

Jak zalogujesz problem z połączeniem z bazą?

1

kilkadziesiąt x na godzinę

O panie, tosz to chyba 0.001% CPU zajmie. Spokojnie pisz do głównej bazy. Jak zauważysz problem wydajnościowy, to przerobisz.

0

Ja bym powiedział że próbujesz w zły sposób rozwiązać nieistniejący problem. A logowanie błędów w tym samym bycie co dane aplikacji jest błędem architektury. Chyba że robisz całe to zamieszanie żeby się uczyć na własnych błędach.

Weź użyj gotowego rozwiązania typu sentry i jesteś królem dżungli.

0
marian pazdzioch napisał(a):

Ja bym powiedział że próbujesz w zły sposób rozwiązać nieistniejący problem. A logowanie błędów w tym samym bycie co dane aplikacji jest błędem architektury. Chyba że robisz całe to zamieszanie żeby się uczyć na własnych błędach.

Weź użyj gotowego rozwiązania typu sentry i jesteś królem dżungli.
Dziękuję za podpowiedź.
Nie potrzebuję ,aż tak dużego środowiska poza tym chyba ono nie obsługuje lazarusa, nie jestem też programistą zawodowym.
W skrócie program kliencki obsługuje użytkowników , a logi potrzebuję aby wiedzieć kiedy kto się zalogował i jaki zapis wykonał w bazie oraz kody błędów jakie zgłosi sqlite3 w odpowiedzi na zapytanie wysłane przez klienta wraz z czasem wystąpienia błędu. Błędy i zdarzenia wychwyci serwer zresztą już wychwytuje tylko muszę je teraz gdzieś zapisać.
Logi potrzebuję mieć też dostępne z panelu w kliencie poprzez odczyt z bazy gdzie zostały zapisane (bo dla niektórych użytkowników będzie ważne kto kiedy co zapisał.
Zdaję sobie sprawę że w ten sposób nie wykryję błędów nieoptymalności itd ale na te potrzeby jakie mam aplikacja mogłaby być 10x wolniejsza niż jest a i tak obsłuży swoje zadania(zarówno serwer jaki napisałem jak i klient).
Pytanie zadałem bo nie wiedziałem czy dołożenie zapisu logów w głównej bazie jako tabeli nie obciąży zbyt sqlite3. (wyjątki jakie wychwytują moje wątki wystarczą do monitorowania zdarzeń).

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.