summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2016-02-17 16:42:13 +0300
committerAndrew Dolgov <[email protected]>2016-02-17 16:42:13 +0300
commitcc43e19b44bd702be93c2244d1ae81a0cb14c69f (patch)
tree06dbb601ecfe87e026ecf41a80d996344ca3f03b
parent1003f71e0459b4b5e7d5e7b393d0baba02e82808 (diff)
error handler: do not log last query, truncate error message to a smaller length
-rw-r--r--classes/db/mysqli.php4
-rw-r--r--classes/db/pgsql.php4
-rw-r--r--include/errorhandler.php3
-rwxr-xr-xinclude/functions.php9
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 = '&hellip;') {
+ 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 {