Fix #1944 add option to display complete call stack for queries

This commit is contained in:
Kijin Sung 2022-12-19 01:11:43 +09:00
parent 868dfb33e9
commit e1f98e573c
10 changed files with 59 additions and 11 deletions

View file

@ -918,6 +918,7 @@ class adminAdminController extends admin
Rhymix\Framework\Config::set('debug.display_type', $display_type);
Rhymix\Framework\Config::set('debug.display_to', strval($vars->debug_display_to) ?: 'admin');
Rhymix\Framework\Config::set('debug.query_comment', $vars->debug_query_comment === 'Y');
Rhymix\Framework\Config::set('debug.query_full_stack', $vars->debug_query_full_stack === 'Y');
Rhymix\Framework\Config::set('debug.write_error_log', strval($vars->debug_write_error_log) ?: 'fatal');
// Debug content

View file

@ -628,6 +628,7 @@ class adminAdminView extends admin
Context::set('debug_display_content', Rhymix\Framework\Config::get('debug.display_content'));
Context::set('debug_display_to', Rhymix\Framework\Config::get('debug.display_to'));
Context::set('debug_query_comment', Rhymix\Framework\Config::get('debug.query_comment'));
Context::set('debug_query_full_stack', Rhymix\Framework\Config::get('debug.query_full_stack'));
Context::set('debug_write_error_log', Rhymix\Framework\Config::get('debug.write_error_log'));
// IP access control

View file

@ -228,6 +228,7 @@ $lang->debug_display_to_ip = 'Visitors from IP adresses listed below';
$lang->debug_display_to_everyone = 'Everyone';
$lang->debug_log_filename = 'Log filename';
$lang->debug_query_comment = 'Add Comment to Queries';
$lang->debug_query_full_stack = 'Show Complete Call Stack for Queries';
$lang->debug_write_error_log = 'Write to Error Log';
$lang->debug_write_error_log_all = 'All errors and warnings';
$lang->debug_write_error_log_fatal = 'Fatal errors only';
@ -237,6 +238,7 @@ $lang->about_debug_write_error_log = 'Select how much information will be record
$lang->about_debug_error_log_path = 'The error log location that is currently configured in php.ini is %s';
$lang->about_debug_error_log_path_empty = '(none)';
$lang->about_debug_query_comment = 'Add a comment containing the query name and IP address to every SQL statement. This may help you determine where slow queries are coming from.';
$lang->about_debug_query_full_stack = 'Show the complete call stack for each query. This can increase the size of debug data considerably.';
$lang->msg_debug_log_filename_not_writable = 'Rhymix cannot write log files in the specified path.';
$lang->debug_allowed_ip = 'Allowed IP addresses';
$lang->seo_main_title = 'Main Page Title';

View file

@ -224,6 +224,7 @@ $lang->debug_display_to_ip = '아래 IP의 방문자에게만 표시';
$lang->debug_display_to_everyone = '모두에게 표시';
$lang->debug_log_filename = '디버그 정보 기록 파일';
$lang->debug_query_comment = '쿼리에 주석 추가';
$lang->debug_query_full_stack = '쿼리 콜 스택 전체 표시';
$lang->debug_write_error_log = '에러 로그에 기록';
$lang->debug_write_error_log_all = '모든 에러와 경고를 기록';
$lang->debug_write_error_log_fatal = '치명적인 에러만 기록';
@ -233,6 +234,7 @@ $lang->about_debug_write_error_log = 'PHP 에러 로그에 얼마나 많은 정
$lang->about_debug_error_log_path = '현재 php.ini에서 설정된 에러 로그 경로는 %s 입니다.';
$lang->about_debug_error_log_path_empty = '(없음)';
$lang->about_debug_query_comment = '쿼리명과 IP 주소를 포함하는 주석을 모든 쿼리에 추가하여, 부하를 유발하는 쿼리 및 방문자를 DB에서 쉽게 파악할 수 있도록 합니다.';
$lang->about_debug_query_full_stack = '쿼리와 관련된 콜 스택을 모두 표시합니다. 디버그 정보의 분량이 크게 늘어날 수 있습니다.';
$lang->msg_debug_log_filename_not_writable = '지정한 경로에 로그 파일을 작성할 수 없습니다.';
$lang->debug_allowed_ip = '디버그 허용 IP';
$lang->seo_main_title = '메인화면 제목';

View file

@ -95,6 +95,14 @@
<p class="x_help-block">{$lang->about_debug_query_comment}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->debug_query_full_stack}</label>
<div class="x_controls">
<label for="debug_query_full_stack_Y" class="x_inline"><input type="radio" name="debug_query_full_stack" id="debug_query_full_stack_Y" value="Y" checked="checked"|cond="$debug_query_full_stack" /> {$lang->cmd_yes}</label>
<label for="debug_query_full_stack_N" class="x_inline"><input type="radio" name="debug_query_full_stack" id="debug_query_full_stack_N" value="N" checked="checked"|cond="!$debug_query_full_stack" /> {$lang->cmd_no}</label>
<p class="x_help-block">{$lang->about_debug_query_full_stack}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->debug_write_error_log}</label>
<div class="x_controls">