Laravel 5에서 쿼리 실행 로그 검색: DB::getQueryLog() 빈 배열 해결
실행된 쿼리에 대한 로그를 보려고 할 때 , 개발자는 DB::getQueryLog()에서 빈 배열 반환 값을 발견할 수 있습니다. 이 문제를 해결하려면 먼저 메모리 사용을 최적화하기 위해 Laravel 5에서 기본적으로 비활성화되어 있는 쿼리 로그를 활성화하는 것이 중요합니다.
쿼리 로그 활성화
DB::enableQueryLog();
DB::connection('my_connection')->enableQueryLog();
쿼리 로그 검색
활성화되면 다음을 사용하여 쿼리 로그를 검색할 수 있습니다.
print_r(DB::getQueryLog());
미들웨어 접근 방식
HTTP 요청 수명 주기 동안에만 쿼리 로깅을 활성화하려면:
class LogQueryMiddleware { public function handle($request, Closure $next) { DB::enableQueryLog(); $response = $next($request); dd(DB::getQueryLog()); // Log queries here return $response; } } // Add the middleware to the app app()->middleware([LogQueryMiddleware::class]);
Artisan 명령 로깅
미들웨어 체인이 실행되지 않는 artisan 명령의 경우:
// In bootstrap/app.php app()->events->listen('artisan.start', function() { DB::enableQueryLog(); });
메모리 관리
과도한 쿼리는 메모리 문제를 일으킬 수 있습니다. 디버깅 목적으로만 쿼리 로깅을 활성화하는 것이 좋습니다.
if (app()->environment('local')) { DB::enableQueryLog(); }
이러한 단계를 따르면 개발자는 쿼리 로그를 효과적으로 보고 애플리케이션의 데이터베이스 상호 작용에 대한 귀중한 통찰력을 얻을 수 있습니다.
위 내용은 DB::getQueryLog()가 Laravel 5에서 빈 배열을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!