From cc43e19b44bd702be93c2244d1ae81a0cb14c69f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 17 Feb 2016 16:42:13 +0300 Subject: error handler: do not log last query, truncate error message to a smaller length --- classes/db/mysqli.php | 4 ---- classes/db/pgsql.php | 4 ---- include/errorhandler.php | 3 +-- include/functions.php | 9 +++++++++ 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/classes/db/mysqli.php b/classes/db/mysqli.php index eef500f77..c685b75a0 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 7bdcb7e9d..6b772d9e1 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 8189feafb..f757b68d1 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 b558b0e6c..d43943966 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 { -- cgit v1.2.3