Laďěnka a logování
- ATom
- Člen | 16
Narazil jsem na dva nedostatky logování chyb.
Především, je velká škoda, že nejde zapnout logování i na vývojovém prostředí. S tím, že by se kromě zobrazení chyby ještě zalogovala, pokud Debug::enable() zdám log, měla by se logovat prostě vždy, nebo to vynutit něčím dalším. Často komunikuju třeba s flashem nebo z něčím dalším, co chybovou hlášku spolkne a musím kvůli tomu přepínat na produkční prostředí a pak zase zpátky abych viděl chyby na stránkách.
Pak by to taky chtělo mít možnost zalogovat vyjímu i když ji odchytím. Na produknčím prostředí není dobré nechat bílou stránku, ke které dojde po vzniku výjimky. Výjimku zachytím co nejblíže zdroji a odpadne pouze část webu, třeba jedna komponenta, jenže jak se pak dozvím, že k chybě došlo? Potřeboval bych tuto výjimku zalogovat jako kdybych nic nezachytil, tedy v catch bloku zavolat něco, co vygeneruje úplně stejný html soubor s popisem chyby, jako kdybych nic nezachytil.
- _Martin_
- Generous Backer | 679
ATom napsal(a):
Pak by to taky chtělo mít možnost zalogovat vyjímu i když ji odchytím. Na produknčím prostředí není dobré nechat bílou stránku, ke které dojde po vzniku výjimky. Výjimku zachytím co nejblíže zdroji a odpadne pouze část webu, třeba jedna komponenta, jenže jak se pak dozvím, že k chybě došlo? Potřeboval bych tuto výjimku zalogovat jako kdybych nic nezachytil, tedy v catch bloku zavolat něco, co vygeneruje úplně stejný html soubor s popisem chyby, jako kdybych nic nezachytil.
Tedy v catch bloku zavolej metodu zvanou
Debug::processException($exception);
a problém tvůj bude záhy
vyřešen.
- David Grudl
- Nette Core | 8218
ATom napsal(a):
Často komunikuju třeba s flashem nebo z něčím dalším, co chybovou hlášku spolkne a musím kvůli tomu přepínat na produkční prostředí a pak zase zpátky abych viděl chyby na stránkách.
Nešlo by tady využít FirePHP a nechat si chyby logovat do konzole Firebugu?
Pak by to taky chtělo mít možnost zalogovat vyjímu i když ji odchytím.
Jak psal Martin, od toho je metoda Debug::processException() nebo PHP funkce trigger_error().
- ATom
- Člen | 16
David Grudl napsal(a):
Nešlo by tady využít FirePHP a nechat si chyby logovat do konzole Firebugu?
Myslím, že nešlo. Firebug neodchytí komunikaci s flashem. Myslím. Ale může jít i aplikaci třetí strany, třeba nějaký tlustý klient. Prostě mít možnost zvlášť povolit logování i na vývojovém prostředí by bylo super.
Jinak díky oběma za processException();
Editoval ATom (17. 7. 2009 12:24)