mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 11:11:39 +09:00
Completely disable Debug logging if it is not enabled for the current user
관리자 또는 특정 IP에서만 디버그 기능을 사용하도록 설정된 경우, 그 밖의 요청에서는 어떤 에러메시지, 쿼리, 트리거 소요시간 등의 기록도 디버그 클래스에 저장하지 않도록 변경합니다. 워닝이 많이 발생하는 PHP 8.0에서는 20~30%의 성능 개선 효과가 있습니다.
This commit is contained in:
parent
02122cb383
commit
1a204d8c52
11 changed files with 108 additions and 74 deletions
|
|
@ -61,7 +61,10 @@ class DBHelper extends \PDO
|
|||
$elapsed_time = microtime(true) - $start_time;
|
||||
$db_class->addElapsedTime($elapsed_time);
|
||||
$db_class->setError(-1, $e->getMessage());
|
||||
Debug::addQuery($db_class->getQueryLog($statement, $elapsed_time));
|
||||
if (Debug::isEnabledForCurrentUser())
|
||||
{
|
||||
Debug::addQuery($db_class->getQueryLog($statement, $elapsed_time));
|
||||
}
|
||||
|
||||
/**
|
||||
* This is a new feature in Rhymix 2.0 so we don't have to mess
|
||||
|
|
@ -110,7 +113,10 @@ class DBHelper extends \PDO
|
|||
{
|
||||
$elapsed_time = microtime(true) - $start_time;
|
||||
$db_class->addElapsedTime($elapsed_time);
|
||||
Debug::addQuery($db_class->getQueryLog($statement, $elapsed_time));
|
||||
if (Debug::isEnabledForCurrentUser())
|
||||
{
|
||||
Debug::addQuery($db_class->getQueryLog($statement, $elapsed_time));
|
||||
}
|
||||
}
|
||||
|
||||
return $stmt;
|
||||
|
|
@ -140,7 +146,10 @@ class DBHelper extends \PDO
|
|||
{
|
||||
$elapsed_time = microtime(true) - $start_time;
|
||||
$db_class->addElapsedTime($elapsed_time);
|
||||
Debug::addQuery($db_class->getQueryLog($query, $elapsed_time));
|
||||
if (Debug::isEnabledForCurrentUser())
|
||||
{
|
||||
Debug::addQuery($db_class->getQueryLog($query, $elapsed_time));
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
|
|
|||
|
|
@ -57,7 +57,10 @@ class DBStmtHelper extends \PDOStatement
|
|||
{
|
||||
$elapsed_time = microtime(true) - $start_time;
|
||||
$db_class->addElapsedTime($elapsed_time);
|
||||
Debug::addQuery($db_class->getQueryLog($this->queryString, $elapsed_time));
|
||||
if (Debug::isEnabledForCurrentUser())
|
||||
{
|
||||
Debug::addQuery($db_class->getQueryLog($this->queryString, $elapsed_time));
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue