error handler: do not log last query, truncate error message to a smaller length
This commit is contained in:
parent
1003f71e04
commit
cc43e19b44
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue