마젠토 - 디버깅 모듈 설치 & 로그

Chapter 3 디버깅 모듈 설치및 로그 파일
이전 포스트에서는 Xdebug의 설치와 기본 설정 방법에 대해 알아보았습니다. 사실 Xdebug는 강력하지만 개발시 불편한 점들이 많습니다. 이번 포스트에서는 마젠토 개발시 간단한 디벙정보를 쉽게 알수 있는 위한 확장프로그램설치와 설정 그리고 마젠토의 로그를 살펴보겠습니다.
Magento 개발시 수시로 체크해야되는 정보를 알기위해 Whoops와 Developer Toolbar와 같은 확장프로그램을 를 사용하는 것은 매우 유용합니다.
Whoops : https://github.com/yireo/Yireo_Whoops
Developer Toolbar : https://github.com/vpietri/magento2-developer-quickdevbar
Chapter 3.1 디버깅 모듈 설치및 로그 파일
오류 Whoops 를 설치해 보겠습니다. 사실 저는 Whoops보다 log파일을 체크하며 개발하는게 익숙합니다.
그러나 Whoops 를 설치후 사용하시면 오류메세지를 가시적으로 쉽게 확인하실수 있습니다.
Step 1: Woops 설치
Step 2: Woops 테스트
Woops가 잘 설치되었는지 확인하기 위해 마젠토의 코드를 수정해 버그를 발생시켜 보겠습니다.
File: vendor/magento/module-customer/Controller/Account.php"
파일을 열어 해당 코드를 추가해 에러를 발생시킵니다.
#1해당 코드는 테스트를 위해 예외를 던지는 추가된 구문입니다.

이제 웹브라저로 "http://dev.magento.com/customer/account/login"을 방문해보시면 아래와 같은 화면이 노출됩니다.
자이제 테스트가 완료되었으니 방금 수정한 Magento 파일인 vendor/magento/module-customer/Controller/Account.php를 원래 코드로 되돌립니다.
Step 2: Developer Toolbar 설치
Magento 개발 시에는 Database, layout, block, request, plugin, template 등등의 많은 Magento만의 맞춤화된 디버깅 정보가 필요합니다. developer toolbar는 맞춤 디버깅 정보를 제공해 줍니다.
developer toolbar를 설치합니다
웹 브라우저에 http://dev.magento.com/ 를 입력해 노출되는 페이지 상단 좌측의 벌래 모양 아이콘을 클릭하면 아래와 같이 디버깅 정보를 확인할 수 있습니다.
Magento에서 로그 기록은 PSR-3(https://www.php-fig.org/psr/psr-3/#5-psrlogloglevel) Monolog(https://github.com/Seldaek/monolog) 를 기반으로 사용하고 있습니다.
다음은 PSR-3의 로그 기록 레벨입니다.
TIP: PSR-3의 로그 레벨
* Emergency - 시스템을 사용할 수 없을 경우
* Alert - 즉시 조치를 취해야 할 경우
* Critical - 심각한 상태
* Error - 오류 발생
* Warning- 경고
* Notice - 정상이지만 주의해야 되는 상태
* Info - 정보 메시지
* Debug - 디버깅 목적의 메시지
마젠토 로그파일의 종류
(1) 디버그 로그
운영 모드가 developer 일 떄 기록되는 상세한 로그입니다. 운영 모드가 production 모드일 경우엔 기록되지 않습니다. 로그 파일의 위치는 아래와 같습니다.
로그 기록은 아래 명령어를 통해 활성화할 수 있습니다.
TIP: CLI의 옵션의 변경으로 "query-log:disable" 비활성화할 수 있습니다
(2) 데이타베이스 로그
데이터베이스 SQL 로그입니다. 로그 파일의 위치는 아래와 같습니다.
로그 기록은 아래 명령어를 통해 활성화할 수 있습니다.
(3) 크론 로그
Magento 크론 로그입니다. 로그 파일의 위치는 아래와 같습니다.
(4) 시스템 로그
Magento 시스템 로그가 기록됩니다. 로그 파일의 위치는 아래와 같습니다.
시스템 로그는 아래 명령어를 통해 활성화할 수 있습니다.
(5) Exception 로그
Exception 발생 시 기록됩니다. 로그 파일의 위치는 아래와 같습니다.
(6) 오류 리포터
Exception 출력이 비활성화되어 있을 경우엔 exception 발생시 웹 브라우저에 에러 번호를 아래와 웹부라우져에 출력합니다.
이떄 오류번호를 확인후 아래경로에서 확인하시면됩니다.
마젠토 개발을 위해 많은 설치와 설정을 하느라 수고하셨습니다. 이제 마젠토 개발을 위한 최소 준비가 완료되었습니다. 사실 전 처음 마젠토를 배울떄 로컬환경을 구축하기위해 1주간을 정말 고생하였습니다. 저의 마젠토 설치글을 보신 분들은 좀더 편하게 설치 하고 마젠토에 접근 하실수 있으면 좋겠습니다. 다음글 부터는 본격적으로 마젠토 개발에 대해 소개 하겠습니다.