2017-04-24 9 views
8

Używam Ups bibliotekę błędu (i kochającej go) na dev pokazać PrettyPageHandler tak:Zapisz wynik Ups PrettyPageHandler

if (ENVIRONMENT == 'local') { 
    $whoops = new \Whoops\Run; 
    $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler); 
    $whoops->register(); 
} 

dla żywych Używam CallbackHandler celu pokazania końca użytkownik jest "przyjazny użytkownikowi" komunikat o błędzie.

Czy mimo to można zapisać wynik/wyjście PrettyPageHandler do bazy danych, a nawet do systemu plików? Moim zamiarem jest pokazać użytkownikowi końcowemu przyjazną stronę błędu, ale jednocześnie zarejestrować błąd za pomocą PrettyPageHandler, aby obejrzeć i usunąć błąd, który dostał użytkownik.

+0

https://github.com/filp/whoops/blob/master/src/Whoops/Handler/PrettyPageHandler.php Zapoznaj się z tym. Spróbuj czegoś podobnego, dostosowując swoją funkcję. –

Odpowiedz

3

jak opisano w dokumentacji:

$run->pushHandler(function($exception, $inspector, $run) { 
    var_dump($exception->getMessage()); 
    return Handler::DONE; 
}); 

zastąpić var_dump($exception->getMessage()); z kodem niestandardowym zapisać do bazy danych lub pliku dziennika.

https://github.com/filp/whoops/blob/master/docs/API%20Documentation.md#core-handlers-1

Edit1:

Aby użyć PrettyPageHandler aby zapisać dziennik, należy utworzyć niestandardowy obsługi rozciągający się od PrettyPageHandler, aw miejscu, w którym uchwyt zwracają formatowany odpowiedź zanim zwróci odpowiedź dla użytkownika , zapisz w bazie danych lub filesytem w żądanym formacie.