Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [LR] Produkcja i błędy
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Laravel respektuje proste
error_reporting(0);
ini_set('display_errors', 0);
i chyba najlepszą opcją jest wrzucenie tego w App providera? Oczywiście z warunkiem, że tylko dla produkcji.
Tylko kiedyś nadejdzie taki moment, że będę miał za dużo czasu (IMG:style_emoticons/default/baaasmiley.gif) i przejże sobie logi na produkcji aby ponaprawiać wszystkie notice'y które się tam pojawiły. Tylko powyższe wyłącza błędy całkowicie.
No i tu mam problem - jak zachować logowanie błędów (póki co w pliku, ale w przyszłości coś ambitniejszego), ale zarazem zezwolić na wykonanie skryptu do końca gdy wywali error o niskiej szkodliwości?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat(markonix @ 27.10.2017, 21:48:35 ) *
Laravel respektuje proste
error_reporting(0);
ini_set('display_errors', 0);
- po to się używa frameworka, żeby nie majstrować przy ustawieniach PHP i dostosować aplikację do środowiska a nie odwrotnie.

Cytat(markonix @ 27.10.2017, 21:48:35 ) *
No i tu mam problem - jak zachować logowanie błędów (póki co w pliku, ale w przyszłości coś ambitniejszego), ale zarazem zezwolić na wykonanie skryptu do końca gdy wywali error o niskiej szkodliwości?
- w każdym lepszym fw jest coś takiego jak logger i error handler - obie te rzeczy zazwyczaj można niezależnie od siebie konfigurować. Standardowe zachowanie to przechwytywanie wszystkich błędów czy notatek i rzucanie zamiast nich wyjątków, następnie ujednolicona obsługa tych wyjątków.

Jest to opisane w dokumentacji Larwy:
https://laravel.com/docs/5.7/errors
Jest też fragment, który szczególnie Ciebie powinien zainteresować:
Cytat
Sometimes you may need to report an exception but continue handling the current request.
Go to the top of the page
+Quote Post
markonix
post
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(Pilsener @ 1.10.2018, 20:13:22 ) *
- po to się używa frameworka, żeby nie majstrować przy ustawieniach PHP i dostosować aplikację do środowiska a nie odwrotnie.

No widzisz, dokładnie tak samo uważam ale 90% wyników na stacku na frazę "ukrywania błędów" na produkcji to wyłączenie tych błędów przed framework'iem przez php, ini czy htaccess.

Cytat(Pilsener @ 1.10.2018, 20:13:22 ) *
Jest też fragment, który szczególnie Ciebie powinien zainteresować:

Jakbyś wzrokowo przejrzał ostatnie moje posty, to sam się do tego fragmentu odniosłem tylko, że ja nie chce nadpisywać handlingu Laravela. Chce aby działało wszystko jak teraz z wyjątkiem nie wywalania się na notice (i może deprecated). Ale spróbuje jeszcze. Dziwie się, że nie znajduje żadnych gotowych rozwiązań bo "stan", które chce osiągnąć wg mnie jest najbardziej prawidłowy na produkcji..


edit:

Próbuje w metodzie render coś zmajstrować ale nie wiem jak w niej zrobić wyjątki.
Problemy jakie mam to wykrycie kategorii Exception (czy to jest notice czy nie). getSeverity() zwraca mi zawsze 1, jedynie to jakoś ma sens:
  1. $exception->getPrevious() instanceof FatalThrowableError)

Dla notice nie jest to fatal.. I może to jest to czego szukam ale ok - wiem już, że nie chce wywalać użytkownikowi strony i przejść dalej więc jak poinstruować o tym FW? Muszę w metodzie render() coś zwrócić, dokładniej to jakiś Response ale jaki?

Ten post edytował markonix 2.10.2018, 16:22:48
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 04:51