diff --git a/classes/display/DisplayHandler.class.php b/classes/display/DisplayHandler.class.php index f48da0460..8ed67bf13 100644 --- a/classes/display/DisplayHandler.class.php +++ b/classes/display/DisplayHandler.class.php @@ -149,6 +149,27 @@ class DisplayHandler extends Handler { case 'panel': $data = Rhymix\Framework\Debug::getDebugData(); + $display_content = array_fill_keys(config('debug.display_content'), true); + if (count($display_content) && !isset($display_content['entries'])) + { + $data->entries = null; + } + if (count($display_content) && !isset($display_content['queries'])) + { + unset($data->queries); + } + if (count($display_content) && !isset($display_content['slow_queries'])) + { + unset($data->slow_queries); + } + if (count($display_content) && !isset($display_content['slow_triggers'])) + { + unset($data->slow_triggers); + } + if (count($display_content) && !isset($display_content['slow_widgets'])) + { + unset($data->slow_widgets); + } if ($data->entries) { foreach ($data->entries as &$entry) @@ -206,8 +227,9 @@ class DisplayHandler extends Handler } ob_start(); $data = Rhymix\Framework\Debug::getDebugData(); + $display_content = array_fill_keys(config('debug.display_content'), true); include RX_BASEDIR . 'common/tpl/debug_comment.html'; - $content = ob_get_clean(); + $content = preg_replace('/\n{2,}/', "\n\n", trim(ob_get_clean())) . PHP_EOL; if ($display_type === 'file') { $log_filename = config('debug.log_filename') ?: 'files/debug/YYYYMMDD.php'; @@ -226,7 +248,7 @@ class DisplayHandler extends Handler { $phpheader = ''; } - FileHandler::writeFile($log_filename, $phpheader . $content, 'a'); + FileHandler::writeFile($log_filename, $phpheader . $content . PHP_EOL, 'a'); return ''; } else diff --git a/common/defaults/config.php b/common/defaults/config.php index 71ee5ff4f..2262d7be6 100644 --- a/common/defaults/config.php +++ b/common/defaults/config.php @@ -87,13 +87,12 @@ return array( ), 'debug' => array( 'enabled' => true, - 'log_errors' => true, - 'log_queries' => false, 'log_slow_queries' => 0, 'log_slow_triggers' => 0, 'log_slow_widgets' => 0, 'log_filename' => null, 'display_type' => 'comment', + 'display_content' => array(), 'display_to' => 'admin', 'allow' => array(), ), diff --git a/common/framework/debug.php b/common/framework/debug.php index ea1dec766..87877ba14 100644 --- a/common/framework/debug.php +++ b/common/framework/debug.php @@ -496,8 +496,8 @@ class Debug 'trans' => sprintf('%0.4f sec', $GLOBALS['__trans_content_elapsed__']), ), 'entries' => self::$_entries, - 'errors' => config('debug.log_errors') ? self::$_errors : null, - 'queries' => config('debug.log_queries') ? self::$_queries : null, + 'errors' => self::$_errors, + 'queries' => self::$_queries, 'slow_queries' => self::$_slow_queries, 'slow_triggers' => self::$_slow_triggers, 'slow_widgets' => self::$_slow_widgets, diff --git a/common/tpl/debug_comment.html b/common/tpl/debug_comment.html index db0b873b0..ca05800df 100644 --- a/common/tpl/debug_comment.html +++ b/common/tpl/debug_comment.html @@ -2,6 +2,7 @@ timestamp . ']' . "\n"; ?> + Request / Response ================== Request URL: url . "\n"; ?> @@ -25,7 +26,9 @@ Resource Usage ============== Peak Memory Usage: Included Files: + + Debug Entries ============= + + PHP Errors and Warnings ======================= -errors === null): ?> -Error logging is disabled. - errors)) @@ -74,11 +76,9 @@ Error logging is disabled. ?> + Database Queries ================ -queries === null): ?> -Query logging is disabled. - queries)) @@ -99,6 +99,7 @@ Query logging is disabled. ?> + Slow Queries ============ + + Slow Triggers ============= trigger_time) . "\n"; } ?> + + Slow Widgets ============ widget_time) . "\n"; } ?> + diff --git a/modules/admin/admin.admin.controller.php b/modules/admin/admin.admin.controller.php index a4873f482..ac1a17e96 100644 --- a/modules/admin/admin.admin.controller.php +++ b/modules/admin/admin.admin.controller.php @@ -702,14 +702,16 @@ class adminAdminController extends admin // Debug settings Rhymix\Framework\Config::set('debug.enabled', $vars->debug_enabled === 'Y'); - Rhymix\Framework\Config::set('debug.log_errors', $vars->debug_log_errors === 'Y'); - Rhymix\Framework\Config::set('debug.log_queries', $vars->debug_log_queries === 'Y'); Rhymix\Framework\Config::set('debug.log_slow_queries', max(0, floatval($vars->debug_log_slow_queries))); Rhymix\Framework\Config::set('debug.log_slow_triggers', max(0, floatval($vars->debug_log_slow_triggers))); Rhymix\Framework\Config::set('debug.log_slow_widgets', max(0, floatval($vars->debug_log_slow_widgets))); Rhymix\Framework\Config::set('debug.display_type', strval($vars->debug_display_type) ?: 'comment'); Rhymix\Framework\Config::set('debug.display_to', strval($vars->debug_display_to) ?: 'admin'); + // Debug content + $debug_content = array_values($vars->debug_display_content); + Rhymix\Framework\Config::set('debug.display_content', $debug_content); + // Log filename $log_filename = strval($vars->debug_log_filename); $log_filename_today = str_replace(array('YYYY', 'YY', 'MM', 'DD'), array( diff --git a/modules/admin/admin.admin.view.php b/modules/admin/admin.admin.view.php index c31f8dd0c..8823175fd 100644 --- a/modules/admin/admin.admin.view.php +++ b/modules/admin/admin.admin.view.php @@ -491,13 +491,12 @@ class adminAdminView extends admin { // Load debug settings. Context::set('debug_enabled', Rhymix\Framework\Config::get('debug.enabled')); - Context::set('debug_log_errors', Rhymix\Framework\Config::get('debug.log_errors')); - Context::set('debug_log_queries', Rhymix\Framework\Config::get('debug.log_queries')); Context::set('debug_log_slow_queries', Rhymix\Framework\Config::get('debug.log_slow_queries')); Context::set('debug_log_slow_triggers', Rhymix\Framework\Config::get('debug.log_slow_triggers')); Context::set('debug_log_slow_widgets', Rhymix\Framework\Config::get('debug.log_slow_widgets')); Context::set('debug_log_filename', Rhymix\Framework\Config::get('debug.log_filename') ?: 'files/debug/YYYYMMDD.php'); Context::set('debug_display_type', Rhymix\Framework\Config::get('debug.display_type')); + Context::set('debug_display_content', Rhymix\Framework\Config::get('debug.display_content')); Context::set('debug_display_to', Rhymix\Framework\Config::get('debug.display_to')); // IP access control diff --git a/modules/admin/lang/ko.php b/modules/admin/lang/ko.php index 3e959816e..0c3f720cb 100644 --- a/modules/admin/lang/ko.php +++ b/modules/admin/lang/ko.php @@ -107,8 +107,6 @@ $lang->use_sftp_support = 'SFTP 사용'; $lang->disable_sftp_support = 'SFTP를 사용하려면 PHP에 ssh2 모듈이 설치되어 있어야 합니다.'; $lang->msg_self_restart_cache_engine = 'Memcached 또는 캐시 서비스를 재시작해 주세요.'; $lang->debug_enabled = '디버그 기능 사용'; -$lang->debug_log_errors = '에러 기록'; -$lang->debug_log_queries = '쿼리 기록'; $lang->debug_log_slow_queries = '느린 쿼리 기록'; $lang->debug_log_slow_triggers = '느린 트리거 기록'; $lang->debug_log_slow_widgets = '느린 위젯 기록'; @@ -117,6 +115,14 @@ $lang->debug_display_type = '디버그 정보 표시 방법'; $lang->debug_display_type_comment = 'HTML 소스에 표시 (주석)'; $lang->debug_display_type_panel = '화면에 표시 (패널)'; $lang->debug_display_type_file = '파일에 기록'; +$lang->debug_display_content = '디버그 정보 표시 내용'; +$lang->debug_display_content_request_info = '요청/응답 정보'; +$lang->debug_display_content_entries = '디버그 메시지'; +$lang->debug_display_content_errors = '에러'; +$lang->debug_display_content_queries = '쿼리'; +$lang->debug_display_content_slow_queries = '느린 쿼리'; +$lang->debug_display_content_slow_triggers = '느린 트리거'; +$lang->debug_display_content_slow_widgets = '느린 위젯'; $lang->debug_display_to = '디버그 정보 표시 대상'; $lang->debug_display_to_admin = '관리자에게만 표시'; $lang->debug_display_to_ip = '아래 IP의 방문자에게만 표시'; diff --git a/modules/admin/tpl/config_debug.html b/modules/admin/tpl/config_debug.html index d9efecc66..7a9e68969 100644 --- a/modules/admin/tpl/config_debug.html +++ b/modules/admin/tpl/config_debug.html @@ -14,38 +14,24 @@ -
- -
- - -
-
-
- -
- - -
-
- +  {$lang->debug_seconds}
- +  {$lang->debug_seconds}
- +  {$lang->debug_seconds}
@@ -57,10 +43,22 @@ +
+ +
+ + + + + + + +
+
- +

{$lang->about_debug_log_filename}