2016-11-22 4 views
0

Ich baue eine API in Laravel, aber wenn ich einen Fehler habe, bekomme ich nur eine 500 Antwort ohne erweiterte Informationen.
Laravel scheint auch nichts mehr in die Datei laravel.log zu schreiben.Wie bekomme ich Fehlerinformationen in Laravel?

Mein .env hat:

APP_DEBUG=true 
APP_LOG_LEVEL=debug 

Was ist der beste Weg, um herauszufinden, warum Fehler auftreten, ohne sich auf HTML-generierte Antwort Seiten?

+0

Welchen Server benutzen Sie? und ist die option "debug" in der config/app.php auf etwas eingestellt? – HakRo

+0

Wahrscheinlich, weil Sie JSON debuggen, wenn Sie Chrome verwenden und zu Netzwerk-Tools wechseln, können Sie die Anfragen in rot verknüpfen und die Registerkarte "Vorschau" auswählen, um die HTML-generierte Seite für diesen Fehler anzuzeigen. Das ist der einzige Weg, wenn Sie kein Tool wie Postman verwenden möchten. – Frondor

+0

Was ist der Wert der Variable 'log' in config/app.php? Standardmäßig ist es "single", das in die Datei laravel.log schreibt (Laravel 5). – MBozic

Antwort

0

Ich vermute, dass was passiert ist, dass ein Konstruktor irgendwo versagt. Entweder der Konstruktor für das Anforderungsobjekt (weil Sie die Überprüfung in einer benutzerdefinierten Anforderungsklasse verwendet haben) oder ein Konstruktor für eine der API-Controller-Klassen oder eine Klasse mit Abhängigkeitsinjektion.

Das erste Problem - Ich würde von benutzerdefinierten Anfrageklassen abraten und die Validierung manuell durchführen, sobald Ihre API-Funktion eingegeben wurde.

Für das zweite Problem müssen Sie möglicherweise eine bestimmte Fehlerprotokollierung in den Konstruktoren Ihrer Controller-Klasse und die Klassen, die dort als Abhängigkeiten injiziert werden. Es gibt eine Ausnahme-Handler-Klasse auf oberster Ebene und Sie können auch versuchen, sich dort einzuloggen: https://laravel.com/docs/5.3/errors#the-exception-handler

+0

Endlich habe ich das Problem über 'php artisan tail' gefunden - in meiner Handler.php ist ein Fehler aufgetreten ... – daninthemix

+0

Und jetzt funktioniert das nicht - ich bekomme' [Symfony \ Component \ Console \ Exception \ CommandNotFoundException] Befehl "Tail" ist nicht definiert. "Weißt du, ich liebe Laravel: o/ – daninthemix

+0

Ich liebe Laravel auch, aber ich hasse seine Fehlerbehandlung. : P – delatbabel

Verwandte Themen