Door
Ozzie PHP
op 25-11-2013 11:41
gewijzigd op 25-11-2013 11:49
6.558 views
Ola,
Als er in mijn applicatie iets fout gaat, dan wil ik daar een error-level aan kunnen koppelen.
Zelf dacht ik om gebruik te gaan maken van 3 gradaties:
1) notice: een kleine fout, bijv. een user vult een getal in in plaats van een string
2) warning: een serieuze fout, bijv. een file kan niet worden opgeslagen
3) error: er gaat iets goed mis, bijv. er kan geen database-verbinding tot stand komen
Een notice zou ik dan alleen loggen in een log-bestand. Een warning zou ik zowel loggen als mailen, en bij een error zou ik loggen en mailen en de rest van de applicatie stoppen.
Zijn deze 3 gradaties toereikend volgens jullie? Of zijn er nog tussenstappen te bedenken, en zo ja welke?
Wouter, dankjewel voor je voorbeeld. Fijn dat je zoveel moeite wilt doen!
Ik snap ongeveer wat je doet, alhoewel ik het nog wel vrij lastig vindt. Waarom gebruik je bij sommige methods $this->logger->debug ipv $this->logger->warning? Wat is het verschil?
>> Mijn code laat gewoon zien hoe mijn log voorbeeldje van 2 reacties terug in de code eruit ziet. Zie jij dubbele meldingen?
Nee, maar je hebt de catched exception melding ook niet voluit geschreven :)
Wat ik bedoel is dat in de catched exception melding die 2 voorgaande meldingen toch terugkomen? Daar zorgt dit toch voor, tenminste.. daar ging ik vanuit?
Alleen in de github link zie ik staan dat er een exception kan worden gegooid, maar dat gaat volgens mij niet over de php functie serialize?? Als het ook voor de functie geldt, waarom zie ik dat dan niet staan op de php.net pagina?
>> Een class kan ook een Serializable interface implementeren en dan kun je een exception throwen waarneer je vindt dat er iets uitzonderlijks gebeurd.