email-sent – úroveň chyby
- Kajda23
- Člen | 42
Ahoj,
řeším problém se zasíláním emailu o chybě v Tracy na produkci. Nikde
jsem o něčem takovém nic nedohledal.
Jde o to, že email zasílá i např. noticka DEPRECATED. Ze své aplikace se snažím samozřejmě vymýtit veškeré chyby včetně notice, ale mám tam i knihovnu třetí strany (mPDF), která je generuje. Není v mých silách knihovnu 3. strany opravovat. Jenže: pokud mi mPDF pošle email, vytvoří se email-sent a další už nedojde. Chybu z mPDF lze snadno ignorovat a je generována často, takže nelze pokaždé mazat email-sent. Problém ale pak nastane, pokud se opravdu něco stane (nějaká 500), protože se to nedozvím.
Otázka zní: lze nastavit úroveň chyby, která se má zasílat emailovou notifikací (a ty ostatní ignorovat)?
- Jan Tvrdík
- Nette guru | 2595
@Kajda23 Můžeš si napsat vlastní error handler, co bude deprecated chyby z mPDF ignorovat. Anebo si sniž error reporting okolo volání mPDF
error_reporting(E_ALL & ~E_DEPRECATED);
$mpdf->toStuff();
error_reporting(E_ALL);
- Pavel Kravčík
- Člen | 1195
Však to zvládneš. Vyvolej výjimku. V tom ErrorPresenteru si udělej dump+die, co Ti tam přijde. A přidej si tam:
if(co prišlo == co nechci logovat)
{
file_put_contents('nette-safe-stream://log/soft_errors.log');
return NULL;
}
$this->log(); //tohle se v tom případě neprovede a nepošle to mail