Le mystère du journal de requête vide dans Laravel 5 : DB::getQueryLog() dévoilé
Lors de la tentative de récupération du journal de requête à l'aide de DB ::getQueryLog(), les développeurs peuvent rencontrer un résultat inattendu : un tableau vide. Ce comportement déroutant provient du fait que la journalisation des requêtes est désactivée par défaut dans Laravel 5.
Activation de la journalisation des requêtes
Pour accéder au journal des requêtes, vous devez l'activer explicitement :
-
Appel de DB::enableQueryLog() : Ceci active la journalisation des requêtes pour toutes les connexions à la base de données.
-
Enregistrement d'un écouteur d'événement : Enregistrez un écouteur pour recevoir des informations détaillées sur chaque requête exécutée.
Considérations
-
Connexions DB multiples : Si votre application utilise plusieurs connexions à la base de données, spécifiez la connexion à enregistrer, par exemple, DB::connection('my_connection')->enableQueryLog().
-
Activation de l'emplacement : Déterminez l'emplacement le plus approprié pour activer la requête enregistrement. Pour les requêtes HTTP, pensez au middleware ; pour les commandes CLI, un écouteur d'événement artisan.start.
-
Consommation de mémoire : soyez conscient de la consommation potentielle de mémoire lors du stockage des requêtes en mémoire. À des fins de débogage, envisagez d'activer la journalisation uniquement dans les environnements de développement.
Récupération du journal des requêtes
Une fois activé, vous pouvez récupérer le journal des requêtes en appelant DB : getQueryLog(). Cela renvoie un tableau contenant les données suivantes :
- Instruction SQL
- Liaisons (le cas échéant)
- Temps d'exécution
Ressources supplémentaires
Pour plus d'informations, consultez la documentation Laravel : https://laravel.com/docs/5.0/database#query-logging
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn