![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam pewną stronkę, wszelkie błedy zapisuję do logów. Zastanawia mnie teraz w jaki sposób mógłbym zliczać ile razy wystąpił dany błąd, np. błędne logowanie(to tylko przykład) i jeśli ilość tych błedów jest wyższa niż ustale w jakimś configu to wtedy pojawi się stosowna informacja. Zastanawiam się o zliczaniu do bazy danych, ale szukam najlepszego sposobu(mój pomysł to przy zapisie preg_match i zapis do bazy) aby pobrać z loga informację że takie błąd wystąpił, a jesli tak to zapis do bazy - albo w inne miejsce. Jakieś pomysły/lepsze rozwiązanie? Ten post edytował webmaniak 10.05.2013, 14:37:26 -------------------- Pomogłem - kliknij
![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie bardzo rozumiem... najpierw bledy cchesz zapisywać do logów, a potem z tych logów brać i zapisywać do bazy..... hmm..... to czemu od razu do bazy nie będziesz zapisywał?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Do bazy chce zapisywać ile razy wystąpił dany błąd. Przykład:
-chcesz się zalogować, ale wpisujesz błędne dane. za każdym razem idzie zapis do loga. Chce co jakiś czas - albo na bieżąco, zależnie jak będzie prościej, zapisać do bazy liczbę tych błednych logowań-nie tylko jednego usera, lecz większej ilości. Jeśli liczba tych błędnych logowań wyniesie np. 100/na dzień to mam jakiś tam komunikat w panelu administratora. Rozjaśniłem trochę, wiesz już o co mi chodzi:)? -------------------- Pomogłem - kliknij
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował ber32 10.05.2013, 15:36:37 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Do bazy chce zapisywać ile razy wystąpił dany błąd. Przykład: -chcesz się zalogować, ale wpisujesz błędne dane. za każdym razem idzie zapis do loga. Chce co jakiś czas - albo na bieżąco, zależnie jak będzie prościej, zapisać do bazy liczbę tych błednych logowań-nie tylko jednego usera, lecz większej ilości. Jeśli liczba tych błędnych logowań wyniesie np. 100/na dzień to mam jakiś tam komunikat w panelu administratora. Rozjaśniłem trochę, wiesz już o co mi chodzi:)? No dobrze, ale czemu nie możesz od razu tej informacji zapisywać w bazie? tego nie rozumiem.... Ja u siebie w bazie loguje wszystko co się da: logowanie, bledne logowanie, edycja danych, kasowanie danych itp. Dzieki temu mam wszystko ładnie napisane kto gdzie kiedy. bez problemu moge sobie filtrowac po czym chce i wszystko widac jak na dloni. A zeby te logi mi nie póchły to raz na 3 miesiace czyszcze stare wpisy bo one już do niczego nie są mi potrzebne -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki kolego za próbę pomocy, ale to nie jest chyba odpowiedź na moje pytanie(patrz niżej) No dobrze, ale czemu nie możesz od razu tej informacji zapisywać w bazie? tego nie rozumiem.... Ja u siebie w bazie loguje wszystko co się da: logowanie, bledne logowanie, edycja danych, kasowanie danych itp. Dzieki temu mam wszystko ładnie napisane kto gdzie kiedy. bez problemu moge sobie filtrowac po czym chce i wszystko widac jak na dloni. A zeby te logi mi nie póchły to raz na 3 miesiace czyszcze stare wpisy bo one już do niczego nie są mi potrzebne Hmmm.... Czemu, to jest dobre pytanie, ale mając kilkadziesiąt tabel po prostu przy projektowaniu podjąłem decyzję o zapisie logów do pliku. Problem polega na tym że te błędy są otrzymywane z webservicu. @ber32 tak jak pisałem logowanie to tylko był przykład, ale chyba niefortunny ![]() ![]() ![]() -------------------- Pomogłem - kliknij
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Podaj przykład takiego loga
może preg_match, a potem explode() -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie mam w tej chwili dostępu do pełnego loga, ale chodzi generalnie o taki błąd:
Generalnie chodzi o zliczenie tego błędu. Teraz tak patrzę że jest taka metoda jak curl_errn, która dzięki niej mógłbym chyba sprawdzić czy błąd jest taki co sprawdzam, jeśli tak to zliczać, dobrze myślę? Tylko w jaki najlepszy sposób sprawdzać czy np jest 20 takich błędów w ciągu np. 5 minut? Ten post edytował webmaniak 10.05.2013, 20:06:49 -------------------- Pomogłem - kliknij
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
To co pisałem wcześniej i do tego $d = date("20:20:33"); i możesz sprawdzać. no i jakiś for(){}
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
No dobrze, ale pewnie trzeba by też dodać kod któy by sprawdzał w jakim czasie występują te błędy. Sprawa wygląda bowiem tak, że 20błędów na minutę to nie to samo co na dobę
![]() -------------------- Pomogłem - kliknij
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
może cron
-------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ok, cron to jedna opcja, jest jakaś inna? Bo jeśli chodzi o cron to jest to dla mnie raczej nowość
![]() Ten post edytował webmaniak 10.05.2013, 20:49:20 -------------------- Pomogłem - kliknij
![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jaki masz dostęp do pliku z logami
-------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
W aplikacji? Pełny.
-------------------- Pomogłem - kliknij
![]() |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Podepnij plik sprawdzający pod stronę i możesz sprawdzać po każdym ("logowaniu")
-------------------- |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mógłbyś nieco bardziej rozwinąć stwierdzenie podepnij plik sprawdzający pod stronę? Spradzanie odbywa się w pliku, w metodzie która jest podpięta pod stronę, za każdym razem jest właśnie sprawdzane co dostaję w odpowiedzi, tylko nie zliczane. Jeśli będę zliczał po każdym otrzymaniu złej odpowiedzi to czy to się nie odbije na wydajności, jeśli będzie tych odpowiedzi ileś tam setek(nie mówię że tyle jest, ale chodzi mi o optymalne rozwiązanie do wielu sytuacji
![]() -------------------- Pomogłem - kliknij
![]() |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zapisuj logi w bazie jak ci mowilem.
W kodzie dodatkowo dodaj kod, który gdy wystapi twoj blad, poleci do bazy i sprawdzi ile w ciagu ostatnich 5 minut bylo tych bledow. Jak było za duzo, to robisż odpowiedni wpis gdzie ci się zywnie podoba. Tu naprawdę nie ma żadnej filozofii -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 112 Pomógł: 22 Dołączył: 11.04.2010 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Jeśli koniecznie chcesz na plikach tekstowych to zobacz na specjalnie zrobiony przeze mnie kod:
Dodatkowo koniecznie trzeba utworzyć plik log.info. Jeśli ktoś nie wie jak to zrobić na szybko mała instrukcja ![]() Otwieramy Notatnik (notepad.exe) Klikamy Plik -> Zapisz jako... W polu Nazwa pliku: wpisujemy log.info W polu Zapisz jako typ: wybieramy Wszystkie pliki (*.*) Klikamy przycisk Zapisz Tak, wiem że dla większości to żadna nowość. Ważne, jednak, aby ten plik znajdował się w tym samym katalogu na serwerze co plik wykonujący funkcje. W innym wypadku należy zmienić ścieżki dostępu do pliku log.info. Bardzo ważne jest to, że zapis w plikach tekstowych jest mało bezpieczny i łatwo może dojść do wycieku danych. W celu zapewnienia minimum podstawowego bezpieczeństwa należy ustawić odmowę dostępu do pliku log.info w pliku .htaccess, lub zmienić CHMODy tego pliku (serwery Linuxowe). I mały bonus: Funkcja usuwająca wpisy starsze niż 30 dni. Należy ją uruchomić w CRONie lub co jakiś czas np. za pomocą palenu admina. Skrypt nie jest optymalny dla bardzo dużych serwisów. |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
wow, dzięki wielkie! Na pewno się przyda
![]() -------------------- Pomogłem - kliknij
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:02 |