mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 19:21:40 +09:00
Improve debug settings
This commit is contained in:
parent
7b75a103b2
commit
7b0c24e67c
8 changed files with 68 additions and 36 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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(),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
<?php echo '[' . $data->timestamp . ']' . "\n"; ?>
|
||||
|
||||
<?php if (!count($display_content) || isset($display_content['request_info'])): ?>
|
||||
Request / Response
|
||||
==================
|
||||
Request URL: <?php echo $data->url . "\n"; ?>
|
||||
|
|
@ -25,7 +26,9 @@ Resource Usage
|
|||
==============
|
||||
Peak Memory Usage: <?php echo sprintf('%0.1f MB', memory_get_peak_usage(true) / 1024 / 1024) . "\n"; ?>
|
||||
Included Files: <?php echo count(get_included_files()) . "\n"; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!count($display_content) || isset($display_content['entries'])): ?>
|
||||
Debug Entries
|
||||
=============
|
||||
<?php
|
||||
|
|
@ -51,12 +54,11 @@ Debug Entries
|
|||
}
|
||||
}
|
||||
?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!count($display_content) || isset($display_content['errors'])): ?>
|
||||
PHP Errors and Warnings
|
||||
=======================
|
||||
<?php if ($data->errors === null): ?>
|
||||
Error logging is disabled.
|
||||
<?php else: ?>
|
||||
<?php
|
||||
$error_count = 0;
|
||||
if (!count($data->errors))
|
||||
|
|
@ -74,11 +76,9 @@ Error logging is disabled.
|
|||
?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!count($display_content) || isset($display_content['queries'])): ?>
|
||||
Database Queries
|
||||
================
|
||||
<?php if ($data->queries === null): ?>
|
||||
Query logging is disabled.
|
||||
<?php else: ?>
|
||||
<?php
|
||||
$query_count = 0;
|
||||
if (!count($data->queries))
|
||||
|
|
@ -99,6 +99,7 @@ Query logging is disabled.
|
|||
?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!count($display_content) || isset($display_content['slow_queries'])): ?>
|
||||
Slow Queries
|
||||
============
|
||||
<?php
|
||||
|
|
@ -119,7 +120,9 @@ Slow Queries
|
|||
echo sprintf(' - Result: %s', $query_result) . "\n";
|
||||
}
|
||||
?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!count($display_content) || isset($display_content['slow_triggers'])): ?>
|
||||
Slow Triggers
|
||||
=============
|
||||
<?php
|
||||
|
|
@ -135,7 +138,9 @@ Slow Triggers
|
|||
echo sprintf(' - Exec Time: %0.4f sec', $trigger->trigger_time) . "\n";
|
||||
}
|
||||
?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!count($display_content) || isset($display_content['slow_widgets'])): ?>
|
||||
Slow Widgets
|
||||
============
|
||||
<?php
|
||||
|
|
@ -150,3 +155,4 @@ Slow Widgets
|
|||
echo sprintf(' - Exec Time: %0.4f sec', $widget->widget_time) . "\n";
|
||||
}
|
||||
?>
|
||||
<?php endif; ?>
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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의 방문자에게만 표시';
|
||||
|
|
|
|||
|
|
@ -14,38 +14,24 @@
|
|||
<label for="debug_enabled_n" class="x_inline"><input type="radio" name="debug_enabled" id="debug_enabled_n" value="N" checked="checked"|cond="!$debug_enabled" /> {$lang->cmd_no}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->debug_log_errors}</label>
|
||||
<div class="x_controls">
|
||||
<label for="debug_log_errors_y" class="x_inline"><input type="radio" name="debug_log_errors" id="debug_log_errors_y" value="Y" checked="checked"|cond="$debug_log_errors" /> {$lang->cmd_yes}</label>
|
||||
<label for="debug_log_errors_n" class="x_inline"><input type="radio" name="debug_log_errors" id="debug_log_errors_n" value="N" checked="checked"|cond="!$debug_log_errors" /> {$lang->cmd_no}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->debug_log_queries}</label>
|
||||
<div class="x_controls">
|
||||
<label for="debug_log_queries_y" class="x_inline"><input type="radio" name="debug_log_queries" id="debug_log_queries_y" value="Y" checked="checked"|cond="$debug_log_queries" /> {$lang->cmd_yes}</label>
|
||||
<label for="debug_log_queries_n" class="x_inline"><input type="radio" name="debug_log_queries" id="debug_log_queries_n" value="N" checked="checked"|cond="!$debug_log_queries" /> {$lang->cmd_no}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="debug_log_slow_queries">{$lang->debug_log_slow_queries}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="debug_log_slow_queries" id="debug_log_slow_queries" size="5" value="{$debug_log_slow_queries}" />
|
||||
<input type="text" name="debug_log_slow_queries" id="debug_log_slow_queries" size="5" value="{$debug_log_slow_queries}" style="width:60px" />
|
||||
{$lang->debug_seconds}
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="debug_log_slow_triggers">{$lang->debug_log_slow_triggers}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="debug_log_slow_triggers" id="debug_log_slow_triggers" size="5" value="{$debug_log_slow_triggers}" />
|
||||
<input type="text" name="debug_log_slow_triggers" id="debug_log_slow_triggers" size="5" value="{$debug_log_slow_triggers}" style="width:60px" />
|
||||
{$lang->debug_seconds}
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="debug_log_slow_widgets">{$lang->debug_log_slow_widgets}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="debug_log_slow_widgets" id="debug_log_slow_widgets" size="5" value="{$debug_log_slow_widgets}" />
|
||||
<input type="text" name="debug_log_slow_widgets" id="debug_log_slow_widgets" size="5" value="{$debug_log_slow_widgets}" style="width:60px" />
|
||||
{$lang->debug_seconds}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -57,10 +43,22 @@
|
|||
<label for="debug_display_type_file" class="x_inline"><input type="radio" name="debug_display_type" id="debug_display_type_file" value="file" checked="checked"|cond="$debug_display_type=='file'" /> {$lang->debug_display_type_file}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="debug_log_slow_widgets">{$lang->debug_display_content}</label>
|
||||
<div class="x_controls">
|
||||
<label for="debug_display_content_request_info" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_request_info" value="request_info" checked="checked"|cond="!count($debug_display_content) || in_array('request_info', $debug_display_content)" /> {$lang->debug_display_content_request_info}</label>
|
||||
<label for="debug_display_content_entries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_entries" value="entries" checked="checked"|cond="!count($debug_display_content) || in_array('entries', $debug_display_content)" /> {$lang->debug_display_content_entries}</label>
|
||||
<label for="debug_display_content_errors" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_errors" value="errors" checked="checked"|cond="!count($debug_display_content) || in_array('errors', $debug_display_content)" /> {$lang->debug_display_content_errors}</label>
|
||||
<label for="debug_display_content_queries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_queries" value="queries" checked="checked"|cond="!count($debug_display_content) || in_array('queries', $debug_display_content)" /> {$lang->debug_display_content_queries}</label>
|
||||
<label for="debug_display_content_slow_queries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_queries" value="slow_queries" checked="checked"|cond="!count($debug_display_content) || in_array('slow_queries', $debug_display_content)" /> {$lang->debug_display_content_slow_queries}</label>
|
||||
<label for="debug_display_content_slow_triggers" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_triggers" value="slow_triggers" checked="checked"|cond="!count($debug_display_content) || in_array('slow_triggers', $debug_display_content)" /> {$lang->debug_display_content_slow_triggers}</label>
|
||||
<label for="debug_display_content_slow_widgets" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_widgets" value="slow_widgets" checked="checked"|cond="!count($debug_display_content) || in_array('slow_widgets', $debug_display_content)" /> {$lang->debug_display_content_slow_widgets}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="debug_log_filename">{$lang->debug_log_filename}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="debug_log_filename" id="debug_log_filename" value="{$debug_log_filename}" />
|
||||
<input type="text" name="debug_log_filename" id="debug_log_filename" value="{$debug_log_filename}" style="min-width: 80%" />
|
||||
<p class="x_help-block">{$lang->about_debug_log_filename}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue