XpressEngine
  • INTRODUCE
  • 시작하기
    • 권장 사양
    • 터미널 환경 설치
    • 웹 환경 설치
    • 업데이트
    • 문제 해결(디버깅)
  • 사이트 설정
    • 회원 설정 및 관리
    • 관리자 비밀번호 설정
    • 사이트맵 추가 및 제거
    • 컨텐츠 관리 및 신고 집계
    • Store 토큰 설정
    • 익스텐션 설치 / 업데이트
    • 기본 테마 설정
    • SEO 설정
    • 다국어 설정
    • 캡챠 설정
  • 번들 플러그인
    • 미디어 라이브러리
    • 외부페이지 플러그인
    • 플러그인 업로드
  • 개발자 문서
    • 개요
    • 디렉토리 구조
    • 컴포넌트
    • 플러그인
    • 서비스
    • 라이프 사이클
    • 라우팅
    • 컨트롤러
    • 요청
    • 응답
    • 프레젠터
    • 뷰
    • 템플릿
  • 플러그인 개발
    • 개요
    • 기본경로 및 구조
    • 기본 플러그인 생성
    • 플러그인 정보 추가 및 수정
    • 관리자 사이트 메뉴 추가
    • 위젯 개발/제작
    • 모듈 개발/제작
    • 에디터 제작
    • 에디터 툴 제작
    • UI 오프젝트 제작
    • 토글 메뉴 제작
    • 다이나믹 필드 제작
    • 다이나믹 필드 스킨 제작
  • 테마 개발/제작
    • 기본경로 및 구조
    • 기본 테마 생성
    • 서브 테마 활용
    • 설정 파일 작성
    • 테마 편집 기능
  • 스킨 개발/제작
    • 기본경로 및 구조
    • 기본 스킨 생성
    • 설정 파일 작성
  • 서비스
    • 카테고리
    • 캡챠
    • 설정
    • 문서
    • 키생성(Keygen)
    • 메뉴/모듈
    • 이벤트/인터셉션
    • 파일/스토리지
    • 회원/인증
    • 모바일
    • 권한
    • 데이터베이스
    • 메일
    • 프론트엔드
    • 이미지처리
    • 세션
    • 헬퍼
    • 쿠키
    • UI오브젝트/폼빌더
    • 카운터
    • 휴지통
    • 유효성검사
    • 오류처리
    • 테마
    • 위젯박스
  • 프론트엔드 (JS)
    • 프론트 엔드 JS 시작하기
    • Lang
    • Page
    • Page Modal
    • Request
    • Validator
Powered by GitBook
On this page
  • 디버깅 모드 활성화
  • 변수값 확인하기(dump)
  • 브라우저에 출력하기
  • 로그파일에 기록하기

Was this helpful?

  1. 시작하기

문제 해결(디버깅)

이 문서에서는 창작자, 기술기업에게 문제해결을 위하여 전달해야하는 내용이 있을때 사용할 수 있는 문서입니다. 디버깅 모드를 활성화 해 놓으면, 일반 사용자도 오류가 발생할 경우, 브라우저에서 오류의 자세한 내용을 볼 수 있으므로, 보안상 문제가 될 수 있습니다. 실 서비스 운영시에는 민감정보가 노출되지 않도록 유의하여 사용해 주시기 바랍니다.

XE3가 예상대로 설치되지 않거나 작동하지 않으면, 사용자 환경 시스템 요구 사항을 충족하는지 확인해야합니다 . XE3가 실행해야하는 항목이 누락되면 먼저 해결해야합니다.

그런 다음 QnA와 커뮤니티를 검색하려면 몇 분이 걸릴 수 있습니다. 누군가가 이미 문제를 보고 했을 가능성이 있으며 해결 방법이 있거나 사용할 수 있습니다. 철저하게 검색했지만 문제에 대한 정보를 찾을 수 없는 경우 문제 해결을 시작할 시간입니다.

디버깅 모드 활성화

XE3를 디버깅모드로 설정하면 오류가 발생한 경우, 브라우저에 오류의 자세한 정보가 바로 출력됩니다. 디버그 모드를 활성화 하기위해서는 config/production/app.php 파일의 debug 값을 true로 설정해야 합니다.

현재 환경에 맞는 config 파일을 열어 값을 변경합니다.

//in config/production/app.php
  ...
  'debug' => true,
  ...

.env 파일에 debug 모드를 지정할 수도 있습니다.

// in config/production/app.php
  ...
  'debug' => env('APP_DEBUG', true)
  ...

위와 같이 config/production/app.php 파일을 설정하고, XE3의 루트디렉토리의 .env 파일에는 아래와 같이 작성합니다.

# in .env file
APP_DEBUG=true

변수값 확인하기(dump)

디버깅을 위해 특정시점에서 변수의 값이나 함수의 반환값 등을 확인할 필요가 있습니다. XE3는 변수의 값을 브라우저에 곧바로 출력하거나 로그 파일에 기록해 놓을 수 있는 기능을 제공합니다.

브라우저에 출력하기

XE3는 dump 와 dd 함수를 제공하고 있습니다. dump는 php 의 내장함수인 var_dump 와 유사하지만 브라우저 상에서 좀 더 보기 좋은 형태로 표현해 줍니다. dd 는 dump & die 의 약어로 dump 처리 후 라이프사이클을 중단시킵니다.

dump($var);
dd($var);

여러가지 값을 동시에 확인하고자 한다면 해당 변수들을 인자로 나열하면 됩니다.

dump($foo, $bar, $baz);
dd($foo, $bar, $baz);

로그파일에 기록하기

XE3에서는 디버그 모드를 활성화 할 경우 별다른 설정이 없다면, 최대 5개의 로그 파일을 날짜별로 저장하는 daily 설정을 기본으로 두고 있습니다.

XE3는 php의 강력한 로깅시스템인 monolog를 사용하고 있습니다. single , daily , syslog , errorlog 타입 설정을 활용하면 파일 하나에 로깅하는것, 일별로 로깅하는것, 시스템 자체에도 로깅할 수 있습니다.

// in config/app.php

//Single Mode laravel.log
'log' => env('APP_LOG', 'single'),

//Daily Mode - laravel-yyyy-mm-dd.log
'log' => env('APP_LOG', 'daily'),

//Syslog Mode
'log' => env('APP_LOG', 'syslog'),

//Errorlog Mode
'log' => env('APP_LOG', 'errorlog'),

Log 파사드를 이용해 로그 파일에 내용을 기록할 수 있습니다. 로그 파일의 위치는 storage/log/laravel-yyyy-mm-dd.log입니다.

$var = 'a';
$bar = 'b';
\Log::info($var . ' ' . $bar); // [0000-00-00 00:00:00] production.INFO: a b

log 파일에는 사용자의 호출에 의한 기록 이외에도 장애시 발생한 오류 정보 등이 기록되어 있습니다.

Previous업데이트Next사이트 설정

Last updated 5 years ago

Was this helpful?