Mein Team und ich arbeiten an einem ziemlich großen Projekt. Es gibt überall Anfragen - in Controllern, View-Composern in Views (Lazy Loading) und wahrscheinlich auch in einigen anderen Diensten. Es wird schwierig, den Überblick zu behalten, und die Seitenladegeschwindigkeit ist im Moment ziemlich langsam.
Wo würde ich \ DB :: enableQueryLog () und \ DB :: getQueryLog () setzen, um alle Abfragen zu protokollieren und sie zu löschen? Im Grunde bin ich auf der Suche nach einem Platz im Code, der passiert, bevor irgendwelche der Abfragen passieren (um enableQueryLog () zu setzen) und ich suche nach einem Ort, der nach dem Rendern der Ansichten passiert (um getQueryLog () zu dumpen).
Was wäre ein guter Weg, dies zu tun?
Vielen Dank im Voraus.
Hier kommt das perfekte Beispiel:
Öffnen Sie app \ Providers \ AppServiceProvider.php und fügen Sie Folgendes zu Boot()
function:
Sie können dies der Datei "Providers / AppServiceProvider.php" hinzufügen und sie in der Laravel-Protokolldatei mit Tail überprüfen:
%Vor%Sie können sogar mit Abfragen filtern, die Sie protokollieren möchten. Zum Beispiel habe ich hier Laravel Passport verwendet und wollte nicht alle OAUTH-Abfragen protokollieren.
%Vor%Fügen Sie eine Middleware hinzu, die ausgeführt wird, nachdem die Anfrage abgeschlossen wurde, und protokolliert Ihre Abfragen ... siehe Endgültige Middleware
Verwenden Sie MySQL? Sie können das Protokoll einfach abschneiden.
Wie werden die letzten Abfragen angezeigt, die auf MySQL ausgeführt wurden?
Oder benutze die Laravel Debug Bar?
Tags und Links php laravel laravel-5.3