logger: record last query before logged error
This commit is contained in:
parent
fd3e5e8da4
commit
475d762872
3 changed files with 14 additions and 0 deletions
|
@ -24,6 +24,10 @@ 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,6 +35,10 @@ 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) {
|
||||
|
|
|
@ -1,17 +1,21 @@
|
|||
<?php
|
||||
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]";
|
||||
|
||||
if (class_exists("Logger"))
|
||||
return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
|
||||
}
|
||||
|
||||
function ttrss_fatal_handler() {
|
||||
global $logger;
|
||||
global $last_query;
|
||||
|
||||
$error = error_get_last();
|
||||
|
||||
|
@ -27,6 +31,8 @@ function ttrss_fatal_handler() {
|
|||
|
||||
$file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
|
||||
|
||||
if ($last_query) $errstr .= " [Last query: $last_query]";
|
||||
|
||||
if (class_exists("Logger"))
|
||||
return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue