From: Andrew Dolgov Date: Wed, 17 Feb 2016 13:42:13 +0000 (+0300) Subject: error handler: do not log last query, truncate error message to a smaller length X-Git-Tag: 16.3~27 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=cc43e19b44bd702be93c2244d1ae81a0cb14c69f;p=tt-rss.git error handler: do not log last query, truncate error message to a smaller length --- diff --git a/classes/db/mysqli.php b/classes/db/mysqli.php index eef500f7..c685b75a 100644 --- a/classes/db/mysqli.php +++ b/classes/db/mysqli.php @@ -24,10 +24,6 @@ class Db_Mysqli implements IDb { } function query($query, $die_on_error = true) { - global $last_query; - - if (strpos($query, "ttrss_error_log") === FALSE) $last_query = $query; - $result = @mysqli_query($this->link, $query); if (!$result) { $error = @mysqli_error($this->link); diff --git a/classes/db/pgsql.php b/classes/db/pgsql.php index 7bdcb7e9..6b772d9e 100644 --- a/classes/db/pgsql.php +++ b/classes/db/pgsql.php @@ -35,10 +35,6 @@ class Db_Pgsql implements IDb { } function query($query, $die_on_error = true) { - global $last_query; - - if (strpos($query, "ttrss_error_log") === FALSE) $last_query = $query; - $result = @pg_query($this->link, $query); if (!$result) { diff --git a/include/errorhandler.php b/include/errorhandler.php index 8189feaf..f757b68d 100644 --- a/include/errorhandler.php +++ b/include/errorhandler.php @@ -33,14 +33,13 @@ function format_backtrace($trace) { function ttrss_error_handler($errno, $errstr, $file, $line, $context) { global $logger; - global $last_query; if (error_reporting() == 0 || !$errno) return false; $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1); - if ($last_query) $errstr .= " [Last query: $last_query]"; $context = format_backtrace(debug_backtrace()); + $errstr = truncate_middle($errstr, 16384, " (...) "); if (class_exists("Logger")) return Logger::get()->log_error($errno, $errstr, $file, $line, $context); diff --git a/include/functions.php b/include/functions.php index b558b0e6..d4394396 100755 --- a/include/functions.php +++ b/include/functions.php @@ -878,6 +878,15 @@ } } + // is not utf8 clean + function truncate_middle($str, $max_len, $suffix = '…') { + if (strlen($str) > $max_len) { + return substr_replace($str, $suffix, $max_len / 2, mb_strlen($str) - $max_len); + } else { + return $str; + } + } + function convert_timestamp($timestamp, $source_tz, $dest_tz) { try {