Dziś jest wtorek, 2 grudnia 2008 roku (z kalendarza...)

Dziennik zdarzeń

Icon

31.12.2006, 10:18

PHP

Komentarze (3)

Powrót

Porządkowania prywatnej bazy kodu PHP ciąg dalszy. Na warsztacie tym razem jest klasa dziennika zdarzeń oraz debuger, którą trzeba znaleźć na którymś z backupów i odświeżyć :). Zasada jej działania nie wyróżnia się niczym szczególnym: główna klasa jest jedynie odbiorcą komunikatów i decyduje na podstawie zdefiniowanych reguł, w jaki sposób należy o nich poinformować. Gdy już wybierze, komunikat przekazywany jest do odpowiedniego rejestratora zdarzeń, który umieszcza go np. w pliku, w bazie danych, wyświetla na ekranie itd.

Potrzebny jest także jakiś mechanizm stopujący wszystko na wypadek wykrycia problemów. Taki rozbudowany system do poważniejszych prac jest właściwie niezbędny - pokazał to m.in. projekt C-Z-W. Przez większą część roboty kod nawet nie odbierał wysyłanych przez OPT/OPF/OPD wyjątków, więc w przypadku jakiegokolwiek błędu na ekranie powstawała istna sieczka. Nawet teraz nie jest za dobrze, bo do ich wyświetlania użytam standardowych funkcji dostępnych w tych bibliotekach. Natomiast dobry i sprawny system zatrzymywania, który też najprawdopodobniej oprę o wyjątki, przyda się w sytuacjach, gdy coś pójdzie nie tak np. podczas dodawania rekordu. Ot, złe uprawnienia na serwerze, plik się nie może nagrać. Oczywistym jest, że porządna aplikacja powinna wtedy wyświetlić na ekranie ładny komunikat oraz nie dopuścić do zapisania informacji o pliku w bazie w rekordzie-duchu.

Hmmm... kiedy będzie już to gotowe, mógłby z tego całkiem fajny artykuł powstać :).

Powrót

Komentarze

Napisał Paweł `hwao` Hal w poniedziałek, 1 stycznia 2007 o 01:09

Przydatne :) Ja wole standartowy komunikat "strona chwilowo nie dostępna - powiadam administratora". Trzeba uważać żeby przy wyświetlania wyjątków nie uciekło nam też jakieś hasło :)

Napisał Zyx w poniedziałek, 1 stycznia 2007 o 14:21

eXtreme swego czasu fajną rzecz wymyślił, jeśli chodzi o błędy w zapytaniach SQL. Mianowicie na serwerze produkcyjnym cały komunikat jest szyfrowany, a na stronie wyświetla się okienko: "Wystąpił problem techniczny. Prześlij poniższy ciąg tekstu administratorowi strony." W domu następuje rozszyfrowanie i diagnoza problemu.

Poza tym sama klasa ma mieć właśnie taki konfigurowalny charakter - w domu, w trakcie robót raportuje wszystko na 20 różnych sposobów, a na serwerze zmieniamy jedną opcję i wszystkie błędy zaczynają lecieć do jakichś wewnętrznych dzienników, podczas gdy na stronie pokazuje się tylko lakoniczny komunikat.

Napisał blog php w wtorek, 16 stycznia 2007 o 18:50

Jak dla mnie idealnym rozwiązaniem jest właśnie komunikat dla użytkownika, że wystąpił chwilowy błąd - przepraszamy. Natomiast komunikat powinien iść do dziennika błędów. Jeśli to jest aplikacja wewnętrzna dodatkowo można umożliwić użytkownikowi pilne zgłoszenie problemu administratorowi.

Strona 1 z 1 :: 1

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 2 | Serwer wirtualny zapewnia