#17630622 * 디버그 메시지 출력 코드 정리

* __DEBUG__ 상수의 기본 값(0)에서는 어떠한 메시지도 출력하지 않도록 변경
  * __DEBUG__ 상수의 순차적 증가 값을 비트 값으로 변경
  * config/config.inc.php 파일의 설정 값 보다 우선하는 config/config.user.inc.php 를 먼저 읽도록 추가
  * DisplayHandler::_debugOutput()에서 debugPrint()를 사용하지 않도록 변경

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5339 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
bnu 2009-01-12 15:54:29 +00:00
parent 27431fb123
commit 2f2578e7f8
3 changed files with 196 additions and 162 deletions

View file

@ -1,93 +1,102 @@
<?php
@error_reporting(E_ALL ^ E_NOTICE);
/**
* @file config/config.inc.php
* @author zero (zero@nzeo.com)
* @brief 기본적으로 사용하는 class파일의 include 환경 설정을
**/
@error_reporting(E_ALL ^ E_NOTICE);
if(!defined('__ZBXE__')) exit();
/**
* @brief XE의 전체 버전 표기
* 내용은 XE의 버전을 관리자 페이지에 표시하기 위한 용도이며
* config.inc.php의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야
* 파일의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야
**/
define('__ZBXE_VERSION__', '1.1.4');
/**
* @brief 디버깅 메세지 출력
* 0 : 디버그 메세지를 생성/ 출력하지 않음
* 1 : 전체 실행 시간에 대해서만 메세지 생성/ 출력
* 2 : 1 + DB 쿼리
* 3 : 모든 로그
**/
define('__DEBUG__', 0);
/**
* @brief 디버그 메세지의 출력 장소
* 0 : files/_debug_message.php 연결하여 출력
* 1 : Response Method XML 형식이 아닐 경우 브라우저에 최하단에 주석으로 표시
* 2 : Firebug 콘솔에 출력 (PHP 5.2 이상. firebug / firephp 플러그인 필요)
**/
define('__DEBUG_OUTPUT__', 0);
/**
* @brief FirePHP 콘솔 브라우저 주석 출력 보안
* 0 : 제한 없음 (권장하지 않음)
* 1 : 지정한 IP 주소에만 허용
**/
define('__DEBUG_PROTECT__', 1);
define('__DEBUG_PROTECT_IP__', '127.0.0.1');
/**
* @brief DB 오류 메세지 출력 정의
* 0 : 출력하지 않음
* 1 : files/_debug_db_query.php 연결하여 출력
**/
define('__DEBUG_DB_OUTPUT__', 0);
/**
* @brief DB 쿼리중 정해진 시간을 넘기는 쿼리의 로그 남김
* 0 : 로그를 남기지 않음
* 0 이상 : 단위를 초로 하여 지정된 이상의 실행시간이 걸린 쿼리를 로그로 남김
* 로그파일은 ./files/_db_slow_query.php 파일로 저장됨
**/
define('__LOG_SLOW_QUERY__', 0);
/**
* @brief ob_gzhandler를 이용한 압축 기능을 강제로 사용하거나 끄는 옵션
* 0 : 사용하지 않음
* 1 : 사용함
* 대부분의 서버에서는 문제가 없는데 특정 서버군에서 압축전송시 IE에서 오동작을 일으키는경우가 있음
**/
define('__OB_GZHANDLER_ENABLE__', 1);
/**
* @brief zbXE가 설치된 장소의 base path를 구함
**/
define('_XE_PATH_', str_replace('config/config.inc.php', '', str_replace('\\', '/', __FILE__)));
/**
* @brief 기본 설정에 우선하는 사용자 설정 파일
*/
if(file_exists(_XE_PATH_.'config/config.user.inc.php')) {
require _XE_PATH_.'config/config.user.inc.php';
}
/**
* @brief 디버깅 메시지 출력 (비트 )
* 0 : 디버그 메시지를 생성/ 출력하지 않음
* 1 : debugPrint() 함수를 통한 메시지 출력
* 2 : 소요시간, Request/Response info 출력
* 4 : DB 쿼리 내역 출력
**/
if(!defined('__DEBUG__')) define('__DEBUG__', 0);
/**
* @brief 디버그 메세지의 출력 장소
* 0 : files/_debug_message.php 연결하여 출력
* 1 : HTML 최하단에 주석으로 출력 (Response Method가 HTML )
* 2 : Firebug 콘솔에 출력 (PHP >= 5.2.0. Firebug/FirePHP 플러그인 필요)
**/
if(!defined('__DEBUG_OUTPUT__')) define('__DEBUG_OUTPUT__', 0);
/**
* @brief FirePHP 콘솔 브라우저 주석 출력 보안
* 0 : 제한 없음 (권장하지 않음)
* 1 : 지정한 IP 주소에만 허용
**/
if(!defined('__DEBUG_PROTECT__')) define('__DEBUG_PROTECT__', 1);
if(!defined('__DEBUG_PROTECT_IP__')) define('__DEBUG_PROTECT_IP__', '127.0.0.1');
/**
* @brief DB 오류 메세지 출력 정의
* 0 : 출력하지 않음
* 1 : files/_debug_db_query.php 연결하여 출력
**/
if(!defined('__DEBUG_DB_OUTPUT__')) define('__DEBUG_DB_OUTPUT__', 0);
/**
* @brief DB 쿼리중 정해진 시간을 넘기는 쿼리의 로그 남김
* 0 : 로그를 남기지 않음
* 0 이상 : 단위를 초로 하여 지정된 이상의 실행시간이 걸린 쿼리를 로그로 남김
* 로그파일은 ./files/_db_slow_query.php 파일로 저장됨
**/
if(!defined('__LOG_SLOW_QUERY__')) define('__LOG_SLOW_QUERY__', 0);
/**
* @brief ob_gzhandler를 이용한 압축 기능을 강제로 사용하거나 끄는 옵션
* 0 : 사용하지 않음
* 1 : 사용함
* 대부분의 서버에서는 문제가 없는데 특정 서버군에서 압축전송시 IE에서 오동작을 일으키는경우가 있음
**/
if(!defined('__OB_GZHANDLER_ENABLE__')) define('__OB_GZHANDLER_ENABLE__', 1);
/**
* @brief Firebug 콘솔 출력 사용시 관련 파일 require
**/
if(__DEBUG_OUTPUT__ == 2 && version_compare(phpversion(), '5.2', '>') == 1) {
require_once _XE_PATH_.'libs/FirePHPCore/FirePHP.class.php';
if((__DEBUG_OUTPUT__ == 2) && version_compare(PHP_VERSION, '5.2.0', '>=')) {
require _XE_PATH_.'libs/FirePHPCore/FirePHP.class.php';
}
/**
* @brief 간단하게 사용하기 위한 함수 정의한 파일 require
**/
require_once(_XE_PATH_.'config/func.inc.php');
require_once(_XE_PATH_.'config/func.inc.php');
if(__DEBUG__) define('__StartTime__', getMicroTime());
/**
* @brief 기본적인 class 파일 include
*
* php5 기반으로 바꾸게 되면 _autoload를 이용할 있기에 제거 대상
* @TODO : PHP5 기반으로 바꾸게 되면 _autoload() 이용할 있기에 제거 대상
**/
if(__DEBUG__) define('__ClassLoadStartTime__', getMicroTime());
require_once(_XE_PATH_.'classes/object/Object.class.php');
@ -104,4 +113,4 @@
require_once(_XE_PATH_.'classes/template/TemplateHandler.class.php');
require_once(_XE_PATH_.'classes/mail/Mail.class.php');
if(__DEBUG__) $GLOBALS['__elapsed_class_load__'] = getMicroTime() - __ClassLoadStartTime__;
?>
?>