From 6b9d4b4bceb727c91e50572fda0fa39cf87febbc Mon Sep 17 00:00:00 2001 From: bnu Date: Wed, 27 Aug 2014 11:06:35 +0900 Subject: [PATCH] =?UTF-8?q?DB=20slow=20log=20=EA=B8=B0=EB=A1=9D=20?= =?UTF-8?q?=EC=8B=9C=20writeSlowlog()=20=ED=95=A8=EC=88=98=EB=A5=BC=20?= =?UTF-8?q?=EC=9D=B4=EC=9A=A9=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/db/DB.class.php | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index 25a7cdb10..849f6ea3a 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -447,7 +447,8 @@ class DB $log['act'] = Context::get('act'); $log['time'] = date('Y-m-d H:i:s'); - $bt = debug_backtrace(); + $bt = version_compare(PHP_VERSION, '5.3.6', '>=') ? debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) : debug_backtrace(); + foreach($bt as $no => $call) { if($call['function'] == 'executeQuery' || $call['function'] == 'executeQueryArray') @@ -455,6 +456,7 @@ class DB $call_no = $no; $call_no++; $log['called_file'] = $bt[$call_no]['file'].':'.$bt[$call_no]['line']; + $log['called_file'] = str_replace(_XE_PATH_ , '', $log['called_file']); $call_no++; $log['called_method'] = $bt[$call_no]['class'].$bt[$call_no]['type'].$bt[$call_no]['function']; break; @@ -487,20 +489,12 @@ class DB $this->setQueryLog($log); - // if __LOG_SLOW_QUERY__ if defined, check elapsed time and leave query log - if(__LOG_SLOW_QUERY__ > 0 && $elapsed_time > __LOG_SLOW_QUERY__) - { - $buff = ''; - $log_file = _XE_PATH_ . 'files/_db_slow_query.php'; - if(!file_exists($log_file)) - { - $buff = '' . "\n"; - } - - $buff .= sprintf("%s\t%s\n\t%0.6f sec\tquery_id:%s\n\n", date("Y-m-d H:i"), $this->query, $elapsed_time, $this->query_id); - - @file_put_contents($log_file, $buff, FILE_APPEND|LOCK_EX); - } + $log_args = new stdClass; + $log_args->query = $this->query; + $log_args->query_id = $this->query_id; + $log_args->caller = $log['called_method'] . '() in ' . $log['called_file']; + $log_args->connection = $log['connection']; + writeSlowlog('query', $elapsed_time, $log_args); } /**