본문 바로가기
개발일지/기타

[Laravel] 라라벨 디버그 바, 디버그 페이지 정리

by 쫌눈 2022. 4. 20.
반응형

모든 개발자는 디버깅이 필수고, 어떻게 디버깅하냐에 따라 디버그 실력을 알 수 있다.

개인적으로는 디버깅실력도 개발이라고 생각한다 ㅎ.ㅎ

하지만! php는 디버깅이 너~~~~~~~~무 불편하다.

오류 날 때 마다 php_error.log였나.... 그파일을 항상 확인해야 했다.

하지만! 라라벨에서는 debug bar를 지원하고 있다.

이번 포스팅에서는 라라벨의 debug에 대해 알아보자😁

1. 디버깅 설정

  • .env파일 수정
~~~
APP_DEBUG=true
~~~

이 설정을 하면 디버그바도 보이고, 오류가 났을 시 페이지에 아래 사진처럼 렌더링되어 오류를 확인하고 바로바로 수정할 수 있다!

2. 디버깅 페이지 설명

  1. 에러가 일어난 파일위치 및 에러 정보를 알 수 있다. 위의 화면에서는 구문오류가 나왔다고 친절하게 설명을 해준다.
  2. 에러위치를 알려준다. 이부분에서 에러가 났어! 라는 느낌으로 불투명한 빨간색 백그라운드로 위치를 알려준다.
  3. 파일이 타고 들어온 루트를 알려준다. 예를들면 라우팅을통해 이 파일로 왔다~~라는 일련의 루트들을 알려준다.
  4. 환경이나 세부 정보들을 보여준다. 세션, 호스트값, 루트디렉토리, DB설정 등등을 볼 수 있다.

3. 디버깅 바 설명

  • 디버그바의 ∨,∧를 클릭하면 펼쳐보기, 숨기기를 설정 할 수 있다.

Messeges

  • 로그의 출력을 확인할 수 있다.
  • 로그 사용 방법은 아래를 참고
  • 더 알고 싶다면 라라벨의 logging부분을 참고하면 된다.
Log::info('로그내용');
Debugbar::info('로그내용');
logger()->info('로그내용');
Log::error('로그내용');
Log::warning('로그내용');

Timeline

  • 페이지가 렌더링 되는 시간을 계산할 수 있다.
  • booting : laravel 시작 시간
  • Applicaion : 실제 처리 시간
  • 처리가 무거울때 원인을 구분할 수 있다.
  • 사용방법은 아래를 참고
start_measure('key', 'key처리');
sleep(2);
stop_measure('key');
add_measure('경과시간', LARAVEL_START, microtime(true));

debug바에서는 아래와 같이 보인다.

Exceptions

  • 오류에 대한 세부 정보를 보여준다.
  • 위의 디버깅 페이지의 간소화된 오류메세지를 보여준다.

Views

  • 화면에 렌더링되는 php파일들을 확인할 수 있다.

Route

  • 라우트의 자세한 내용을 볼 수 있다.

Queries

  • 페이지 처리중에 사용한 sql을 확인할 수 있다.
  • 실행시간이 기록되어 있기 때문에 무거운 쿼리와 N+1을 발견할 수 있다.
  • 아래 사진의 빨간 부분이 쿼리 실행시간이다.

Models

  • 페이지에 이용하고 있는 모델과 그 개수가 출력이 된다.

Mails

  • 😥모르겠다...아시는분 있으시면 댓글로 적어주세요

Gate

  • 게이트를 확인하는거 같은데..😥잘 모르겠다...아시는분 있으시면 댓글로 적어주세요

Session

  • 세션 정보를 확인할 수 있다.
  • flash나 old의 값을 확인할 수 있다.

Request

  • 요청 내용을 확인할 수 있다.
  • 현재 path에 대한 정보를 확인할 수 있다.
  • request header와 server, 세션값등을 확인할 수 있다.

 

도움이 되었다면 공감 부탁드립니다😁

반응형

댓글